diff --git a/src/main/java/de/marhali/easyi18n/settings/NamingConvention.java b/src/main/java/de/marhali/easyi18n/settings/NamingConvention.java new file mode 100644 index 0000000..9feaec5 --- /dev/null +++ b/src/main/java/de/marhali/easyi18n/settings/NamingConvention.java @@ -0,0 +1,18 @@ +package de.marhali.easyi18n.settings; + +import com.google.common.base.CaseFormat; + +public enum NamingConvention { + SNAKE_CASE("Snake"), + CAMEL_CASE("Camel"),; + private final String name; + + private NamingConvention(String name) { + this.name = name; + } + + @Override + public String toString() { + return super.name().toLowerCase(); + } +} diff --git a/src/main/java/de/marhali/easyi18n/settings/ProjectSettings.java b/src/main/java/de/marhali/easyi18n/settings/ProjectSettings.java index 019408a..fdf4e4b 100644 --- a/src/main/java/de/marhali/easyi18n/settings/ProjectSettings.java +++ b/src/main/java/de/marhali/easyi18n/settings/ProjectSettings.java @@ -1,5 +1,6 @@ package de.marhali.easyi18n.settings; +import com.google.common.base.CaseFormat; import de.marhali.easyi18n.io.parser.ParserStrategyType; import de.marhali.easyi18n.io.folder.FolderStrategyType; @@ -34,4 +35,5 @@ public interface ProjectSettings { // Experimental Configuration boolean isAlwaysFold(); String getFlavorTemplate(); + @NotNull NamingConvention getCaseFormat(); } diff --git a/src/main/java/de/marhali/easyi18n/settings/presets/DefaultPreset.java b/src/main/java/de/marhali/easyi18n/settings/presets/DefaultPreset.java index 383a5d3..c475019 100644 --- a/src/main/java/de/marhali/easyi18n/settings/presets/DefaultPreset.java +++ b/src/main/java/de/marhali/easyi18n/settings/presets/DefaultPreset.java @@ -2,6 +2,7 @@ package de.marhali.easyi18n.settings.presets; import de.marhali.easyi18n.io.parser.ParserStrategyType; import de.marhali.easyi18n.io.folder.FolderStrategyType; +import de.marhali.easyi18n.settings.NamingConvention; import de.marhali.easyi18n.settings.ProjectSettings; import org.jetbrains.annotations.NotNull; @@ -91,4 +92,9 @@ public class DefaultPreset implements ProjectSettings { public String getFlavorTemplate() { return "$i18n.t"; } + + @Override + public @NotNull NamingConvention getCaseFormat() { + return NamingConvention.CAMEL_CASE; + } } diff --git a/src/main/java/de/marhali/easyi18n/settings/presets/ReactI18NextPreset.java b/src/main/java/de/marhali/easyi18n/settings/presets/ReactI18NextPreset.java index 26c16b7..6d44310 100644 --- a/src/main/java/de/marhali/easyi18n/settings/presets/ReactI18NextPreset.java +++ b/src/main/java/de/marhali/easyi18n/settings/presets/ReactI18NextPreset.java @@ -1,7 +1,9 @@ package de.marhali.easyi18n.settings.presets; +import com.google.common.base.CaseFormat; import de.marhali.easyi18n.io.parser.ParserStrategyType; import de.marhali.easyi18n.io.folder.FolderStrategyType; +import de.marhali.easyi18n.settings.NamingConvention; import de.marhali.easyi18n.settings.ProjectSettings; import org.jetbrains.annotations.NotNull; @@ -91,4 +93,8 @@ public class ReactI18NextPreset implements ProjectSettings { public String getFlavorTemplate() { return "$i18n.t"; } + @Override + public @NotNull NamingConvention getCaseFormat() { + return NamingConvention.CAMEL_CASE; + } } diff --git a/src/main/java/de/marhali/easyi18n/settings/presets/VueI18nPreset.java b/src/main/java/de/marhali/easyi18n/settings/presets/VueI18nPreset.java index 491edf8..b720d75 100644 --- a/src/main/java/de/marhali/easyi18n/settings/presets/VueI18nPreset.java +++ b/src/main/java/de/marhali/easyi18n/settings/presets/VueI18nPreset.java @@ -2,6 +2,7 @@ package de.marhali.easyi18n.settings.presets; import de.marhali.easyi18n.io.parser.ParserStrategyType; import de.marhali.easyi18n.io.folder.FolderStrategyType; +import de.marhali.easyi18n.settings.NamingConvention; import de.marhali.easyi18n.settings.ProjectSettings; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -90,4 +91,9 @@ public class VueI18nPreset implements ProjectSettings { public String getFlavorTemplate() { return "$i18n.t"; } + + @Override + public @NotNull NamingConvention getCaseFormat() { + return NamingConvention.CAMEL_CASE; + } } diff --git a/src/test/java/de/marhali/easyi18n/settings/SettingsTestPreset.java b/src/test/java/de/marhali/easyi18n/settings/SettingsTestPreset.java index ab646ec..b76e185 100644 --- a/src/test/java/de/marhali/easyi18n/settings/SettingsTestPreset.java +++ b/src/test/java/de/marhali/easyi18n/settings/SettingsTestPreset.java @@ -1,5 +1,6 @@ package de.marhali.easyi18n.settings; +import com.google.common.base.CaseFormat; import de.marhali.easyi18n.io.folder.FolderStrategyType; import de.marhali.easyi18n.io.parser.ParserStrategyType; @@ -8,6 +9,7 @@ import org.jetbrains.annotations.Nullable; /** * Settings preset to test the functionality of the settings service. + * * @author marhali */ public class SettingsTestPreset implements ProjectSettings { @@ -88,6 +90,11 @@ public class SettingsTestPreset implements ProjectSettings { @Override public String getFlavorTemplate() { - return ""; + return "t"; + } + + @Override + public @NotNull NamingConvention getCaseFormat() { + return NamingConvention.CAMEL_CASE; } }