15 Commits
Author SHA1 Message Date
JPilson 45834046dd feat: Replace Camel case uppercase with Pascal case
The main modification is in `NamingConvention.java` replacing the enumeration `CAMEL_CASE_UPPERCASE` with `PASCAL_CASE`. This change can help to improve the readability of the code by reducing the verbosity of names and ensure convention consistency. Also, a new test file `NamingConventionTest.java` has been introduced to ensure correctness and stability of the code against these modifications.
2024-04-21 11:09:20 +02:00
JPilson 340ab134e5 feat: Move NamingConvention to presets package
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.
2024-04-21 10:15:32 +02:00
JPilson 4c737e25fa refactor: streamline key naming convention conversion
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.
2024-04-20 19:28:16 +02:00
JPilson 027016921f feat: update naming convention functionality
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.
2024-04-20 18:44:18 +02:00
JPilson f933ea91eb feat: Add project-specific naming convention in LocalizeItAction
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.
2024-04-18 21:03:15 +02:00
JPilson b7b3563080 feat: Add case format to ProjectSettingsState and fromSelector method to NamingConvention
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.
2024-04-18 20:48:40 +02:00
JPilson 667b748614 feat: Add key naming convention selection for extracted translations
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.
2024-04-16 20:34:12 +02:00
JPilson 0c1710029f feat: Add naming convention setting for presets
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`.
2024-04-16 20:33:57 +02:00
JPilson 08d8326523 feat: add key naming convention converter
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.
2024-04-16 20:33:05 +02:00
JPilson 697059bcdd Merge remote-tracking branch 'Meine/feature/LocalizeSelectedString' into feature/LocalizeSelectedString
# Conflicts:
#	src/main/java/de/marhali/easyi18n/action/LocalizeItAction.java
2023-12-16 18:05:25 +01:00
JPilson 5b420a7bcc Add flavorTemplate for i18n string replacement and refactor LocalizeItAction
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.
2023-12-16 17:58:01 +01:00
JPilson c56812c888 Implement selectable text replacement with i18n keys
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.
2023-12-16 17:51:29 +01:00
JPilson a709db810e Add i18n flavor template setting
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.
2023-12-16 17:50:29 +01:00
JPilson 7038e42055 feat(Localize Selected): add LocalizeItAction for localizing selected text
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.
2023-12-09 15:01:47 +01:00
JPilson 352dc7c47c feat(Add Selection): add LocalizeItAction for localizing selected text
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.
2023-12-09 14:43:40 +01:00