diff --git a/Core/src/main/java/com/plotsquared/core/command/Cluster.java b/Core/src/main/java/com/plotsquared/core/command/Cluster.java
index 557ba084b..44f944f54 100644
--- a/Core/src/main/java/com/plotsquared/core/command/Cluster.java
+++ b/Core/src/main/java/com/plotsquared/core/command/Cluster.java
@@ -221,7 +221,7 @@ public class Cluster extends SubCommand {
if (args.length == 2) {
cluster = area.getCluster(args[1]);
if (cluster == null) {
- MainUtil.sendMessage(player, Captions.INVALID_CLUSTER, args[1]);
+ MainUtil.sendMessage(player, Captions.INVALID_CLUSTER_NAME, args[1]);
return false;
}
} else {
diff --git a/Core/src/main/resources/lang/messages_en.json b/Core/src/main/resources/lang/messages_en.json
new file mode 100644
index 000000000..6cf7f35c0
--- /dev/null
+++ b/Core/src/main/resources/lang/messages_en.json
@@ -0,0 +1,152 @@
+{
+ "confirm.expired_confirm": "Confirmation has expired, please run the command again!",
+ "confirm.failed_confirm": "You have no pending actions to confirm!",
+ "confirm.requires_confirm": "Are you sure you wish to execute: %s?\nThis cannot be undone! If you are sure: /plot confirm",
+ "move.move_success": "Successfully moved plot.",
+ "move.move_merged": "Merged plots may not be moved. Please unmerge the plot before performing the move.",
+ "move.copy_success": "Successfully copied plot.",
+ "move.reqiores_unowned": "The location specified is already occupied.",
+ "debug.requires_unmerged": "The plot cannot be merged.",
+ "debug.degub_header": " Debug Information\n",
+ "debug.debug_section": ">> &l%val%",
+ "debug.debug_line": ">> %var%: %val%\n",
+ "set.set_attribute": "Successfully set %s0 set to %s1",
+ "web.generating_link": "Processing plot...",
+ "web.generating_link_failed": "Failed to generate download link!",
+ "web.save_failed": "Failed to save.",
+ "web.load_null": "Please use /plot load to get a list of schematics.",
+ "web.load_failed": "Failed to load schematic.",
+ "web.load_list": "To load a schematic, use /plot load #.",
+ "web.save_success": "Successfully saved!",
+ "compass.compass_target": "Successfully targeted plot with your compass.",
+ "cluster.cluster_available_args": "The following sub commands are available: list, create, delete, resize, invite, kick, leave, members, info, tp, sethome",
+ "cluster.cluster_list_heading": "There are %s clusters in this world.",
+ "cluster.cluster_list_element": " - %s\n",
+ "cluster.cluster_intersection": "The proposed area overlaps with: %s0",
+ "cluster.cluster_outside": "The proposed area is outside the plot area: %s0",
+ "cluster.cluster_added": "Successfully created the cluster.",
+ "cluster.cluster_deleted": "Successfully deleted the cluster.",
+ "cluster.cluster_resized": "Successfully resized the cluster.",
+ "cluter.cluster_added_user": "Successfully added user to the cluster.",
+ "cluster.cannot_kick_player": "You cannot kick that player.",
+ "cluster.cluster_invited": "You have been invited to the following cluster: %s.",
+ "cluster.cluster_removed": "You have been removed from cluster: %s.",
+ "cluster.cluster_kicked_user": "Successfully kicked the user from the cluster.",
+ "cluster.invalid_cluster_name": "Invalid cluster name: %s",
+ "cluster.cluster_not_added": "That player was not added to the plot cluster.",
+ "cluster.cluster_cannot_leave": "You must delete or transfer ownership before leaving the cluster.",
+ "cluster.cluster_added_helper": "Successfully added a helper to the cluster.",
+ "cluster.cluster_removed_helper": "Successfully removed a helper from the cluster.",
+ "cluster.cluster_regenerated": "Successfully started cluster regeneration.",
+ "cluster.cluster_teleporting": "Teleporting...",
+ "cluster.cluster_info": "Current cluster: %id%\nName: %name%\nOwner: %owner%\nSize: %size%\nRights: %rights%",
+ "border.border": "You are outside the current map border.",
+ "worldedit.worldedit_bypass": "To bypass your restrictions use /plot wea",
+ "worldedit.worldedit_bypassed": "Currently bypassing WorldEdit restriction.",
+ "gamemode.gamemode_was_bypassed": "You bypassed the gamemode ({gamemode}) set for {plot}",
+ "height.height_limit": "This plot area has a height limit of {limit}.",
+ "notification.notify_enter": "%player entered your plot (%plot).",
+ "notification.notify_leave": "%player left your plot (%plot).",
+ "swap.swap_overlap": "The proposed areas are not allowed to overlap.",
+ "swap.swap_success": "Successfully swapped plots.",
+ "swap.swap_merged": "Merged plots may not be swapped. Please unmerge the plots before performing the swap.",
+ "comment.inbox_notification": "%s unread messages. Use /plot inbox.",
+ "comment.not_valid_inbox_index": "No comment at index %s.",
+ "comment.inbox_item": " - %s",
+ "comment.comment_syntax": "Use /plot comment [X;Z] <%s> ",
+ "comment.invalid_inbox": "That is not a valid inbox.\nAccepted values: %s",
+ "comment.no_perm_inbox": "You do not have permission for that inbox.",
+ "comment.no_perm_inbox_modify": "You do not have permission to modify that inbox.",
+ "comment.no_plot_inbox": "You must stand in or supply a plot argument",
+ "comment.comment_removed_success": "Successfully deleted comment/s:n - %s",
+ "comment.comment_removed_failure": "Failed to delete comment!",
+ "comment.comment_added": "A comment has been left.",
+ "comment.inbox_empty": "No comments.",
+ "console.not_console": "For safety reasons, this command can only be executed by console.",
+ "console.is_console": "This command can only be executed by a player.",
+ "clipboard.paste_failed": "Failed to paste the selection. Reason: %s",
+ "toggle.toggle_enabled": "Enabled setting: %s",
+ "toggle.toggle_disabled": "Disabled setting: %s",
+ "blockedcmds.command_blocked": "That command is not allowed in this plot.",
+ "done.done_already_done": "This plot is already marked as done.",
+ "done.done_not_done": "This plot is not marked as done.",
+ "done.done_insufficient_complexity": "This plot is too simple. Please add more detail before using this command.",
+ "done.done_success": "Successfully marked this plot as done.",
+ "done.done_removed": "You may now continue building in this plot.",
+ "ratings.ratings_purged": "Purged ratings for this plot.",
+ "ratings.rating_not_valid": "You need to specify a number between 1 and 10.",
+ "ratings.rating_already_exists": "You have already rated plot %s.",
+ "ratings.rating_applied": "You successfully rated plot %s.",
+ "ratings.rating_disliked": "You successfully disliked plot %s.",
+ "ratings.rating_liked": "You successfully liked plot %s.",
+ "ratings.rating_not_your_own": "You cannot rate your own plot.",
+ "ratings.rating_not_done": "You can only rate finished plots.",
+ "ratings.rating_not_owned": "You cannot rate a plot that is not claimed by anyone.",
+ "tutorial.rate_this": "Rate this plot!",
+ "tutorial.comment_this": "Leave some feedback on this plot: %s.",
+ "economy.econ_disabled": "Economy is not enabled.",
+ "economy.cannot_afford_plot": "You cannot afford to buy this plot. It costs %s.",
+ "economy.not_for_sale": "This plot is not for sale.",
+ "economy.cannot_buy_own": "You cannot buy your own plot.",
+ "economy.plot_sold": "Your plot; %s0, has been sold to %s1 for %s2.",
+ "economy.cannot_afford_merge": "You cannot afford to merge the plots. It costs %s.",
+ "economy.added_balance": "%s has been added to your balance.",
+ "economy.removed_balance": "%s has been taken from your balance.",
+ "ecomomy.removed_granted_plot": "You used %s0 plot grant(s), you've got %s1 left.",
+ "setup.setup_not_started": "No setup started. Use /plot setup to start a setup process.",
+ "setup.setup_init": "Usage: /plot setup ",
+ "setup.setup_step": "[Step %s0] %s1 - Expecting: %s2 Default: %s3",
+ "setup.setup_invalid_arg": "%s0 is not a valid argument for step %s1. To cancel setup use: /plot setup cancel.",
+ "setup.setup_valid_arg": "Value %s0 set to %s1.",
+ "setup.setup_finished": "You should have been teleported to the created world. Otherwise you will need to set the generator manually using the bukkit.yml or your chosen world management plugin.",
+ "setup.setup_world_taken": "%s is already a world. Choose a different name.",
+ "setp.setup_cancelled": "Cancelled setup.",
+ "setup.setup_world_name": "What do you want your world to be called?",
+ "setup.setup_world_name_error": "You need to choose a world name!",
+ "setup_world_name_taken": "That world name is already taken!",
+ "setup.setup_world_generator_error": "You must choose a generator!",
+ "setup.setup_world_type": "What world type do you want?\n - normal - Standard plot generation\n - $6augmented - Plot generation with terrain\n - partial - Vanilla with clusters of plots",
+ "setup.setup_world_type_error": "You must choose a world type!",
+ "setup.setup_wrong_generator": "The specified generator does not identify as BukkitPlotGenerator - You may need to manually configure the other plugin.",
+ "setup.setup_world_name_format": "Non [a-z0-9_.-] character in the world name: ",
+ "setup.setup_world_apply_plotsquared": "The world you specified already exists. After restarting, new terrain will use PlotSquared, however you may need to reset the world for it to generate correctly!",
+ "setup.setup_partial_area": "What terrain would you like in plots?\n - NONE - No terrain at all\n - ORE - Just some ore veins and trees\n - ROAD - Terrain separated by roads\n - ALL - Entirely vanilla generation",
+ "setup.setup_partial_area_error": "You must choose the terrain!",
+ "setup.setup_area_name": "What would you like this area called?",
+ "setup.setup_area_non_alphanumerical": "The area id must be alphanumerical!",
+ "setup.setup_area_invalid_id": "You must choose an area id that is not in use!",
+ "setup.setup_area_min_plot_id": "What should be the minimum Plot ID?",
+ "setup.setup_area_min_plot_id_error": "You must choose a valid minimum Plot ID!",
+ "setup.setup_area_max_plot_id": "What should be the maximum Plot ID?",
+ "setup.setup_area_max_plot_id_error": "You must choose a valid maximum Plot ID!",
+ "setup.setup_area_plot_id_greater_than_minimum": "The maximum Plot ID must be greater than the minimum!",
+ "plotareatype.plot_area_type_normal": "Standard plot generation",
+ "plotareatype.plot_area_type_augmented": "Plot generation with vanilla terrain",
+ "plotareatype.plot_area_type_partial": "Vanilla with clusters of plots",
+ "schematics.schematic_too_large": "The plot is too large for this action!",
+ "schematics.schematic_missing_arg": "You need to specify an argument. Possible values: save, paste , exportall, list",
+ "schematics.schematic_invalid": "That is not a valid schematic. Reason: %s.",
+ "schematics.schematic_paste_merged": "Schematics cannot be pasted onto merged plots. Please unmerge the plot before performing the paste.",
+ "schematics.schematic_paste_failed": "Failed to paste the schematic.",
+ "schematics.schematic_paste_success": "The schematic pasted successfully.",
+ "schematics.schematic_list": "Saved Schematics: %s",
+ "schematics.schematic_road_created": "Saved new road schematic. To test the schematic, fly to a few other plots and run /plot debugroadregen.",
+ "schematics.mca_file_size": "Note: The `.mca` files are 512x512.",
+ "schematics.schematic_exportall_started": "Starting export...",
+ "schematics.schematic_exportall_world_args": "Need world argument. Use /plot sch exportall area",
+ "schematics.schematic_exportall_finished": "Finished mass export.",
+ "schematics.schematic_exportall_single_finished": "Finished export.",
+ "schematic.schematic_exportall_world": "Invalid world. Use /plot sch exportall .",
+ "error.task_in_process": "Task is already running.",
+ "titles.title_entered_plot": "Plot: %world%;%x%;%z%",
+ "titles.title_entered_plot_sub": "Owned by %s",
+ "titles.prefix_greeting": "%id%>",
+ "titles.prefix_farewell": "%id%>",
+ "core.prefix": "[P2]",
+ "core.enabled": "%s0 is now enabled.",
+ "reload.reloaded_configs": "Translations and world settings have been reloaded.",
+ "reload.reload_failed": "Failed to reload file configurations.",
+
+
+
+}