mirror of
https://github.com/zDevelopers/ImageOnMap.git
synced 2024-11-10 12:30:14 +01:00
Merge branch 'master' of github.com:zDevelopers/ImageOnMap
Conflicts: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteConfirmCommand.java src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java src/main/resources/i18n/fr_FR.po
This commit is contained in:
commit
195f656f3c
2
pom.xml
2
pom.xml
@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>fr.moribus</groupId>
|
||||
<artifactId>ImageOnMap</artifactId>
|
||||
<version>2.99</version>
|
||||
<version>3.0</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
|
@ -99,7 +99,7 @@ public class ConfirmDeleteMapGui extends ActionGui
|
||||
protected void onUpdate()
|
||||
{
|
||||
/// The title of the map deletion GUI. {0}: map name.
|
||||
setTitle(I.t("{0} » {black}Confirm deletion", mapToDelete.getName()));
|
||||
setTitle(I.t(getPlayerLocale(), "{0} » {black}Confirm deletion", mapToDelete.getName()));
|
||||
setSize(6 * 9);
|
||||
|
||||
|
||||
@ -107,13 +107,13 @@ public class ConfirmDeleteMapGui extends ActionGui
|
||||
|
||||
action("", 13, new ItemStackBuilder(Material.EMPTY_MAP)
|
||||
/// The title of the map deletion item
|
||||
.title(I.t("{red}You're about to destroy this map..."))
|
||||
.title(I.t(getPlayerLocale(), "{red}You're about to destroy this map..."))
|
||||
/// The end, in the lore, of a title starting with “You're about to destroy this map...”.
|
||||
.lore(I.t("{red}...{italic}forever{red}."))
|
||||
.lore(I.t(getPlayerLocale(), "{red}...{italic}forever{red}."))
|
||||
.loreLine()
|
||||
.lore(I.t("{gray}Name: {white}{0}",mapToDelete.getName()))
|
||||
.lore(I.t("{gray}Map ID: {white}{0}", mapToDelete.getId()))
|
||||
.lore(I.t("{gray}Maps inside: {white}{0}", mapToDelete.getMapsIDs().length))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}Name: {white}{0}",mapToDelete.getName()))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}Map ID: {white}{0}", mapToDelete.getId()))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}Maps inside: {white}{0}", mapToDelete.getMapsIDs().length))
|
||||
.hideAttributes()
|
||||
);
|
||||
|
||||
|
@ -29,11 +29,12 @@ import fr.zcraft.zlib.components.gui.PromptGui;
|
||||
import fr.zcraft.zlib.components.i18n.I;
|
||||
import fr.zcraft.zlib.tools.Callback;
|
||||
import fr.zcraft.zlib.tools.items.ItemStackBuilder;
|
||||
import org.apache.commons.lang.ArrayUtils;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
|
||||
public class MapDetailGui extends ExplorerGui
|
||||
public class MapDetailGui extends ExplorerGui<Short>
|
||||
{
|
||||
private final ImageMap map;
|
||||
|
||||
@ -50,11 +51,27 @@ public class MapDetailGui extends ExplorerGui
|
||||
partMaterial = Material.EMPTY_MAP;
|
||||
|
||||
return new ItemStackBuilder(partMaterial)
|
||||
.title(I.t("{green}Map part"))
|
||||
.lore(I.t("{gray}Column: {white}{0}", y + 1))
|
||||
.lore(I.t("{gray}Row: {white}{0}", x + 1))
|
||||
.title(I.t(getPlayerLocale(), "{green}Map part"))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}Row: {white}{0}", y + 1))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}Column: {white}{0}", x + 1))
|
||||
.loreLine()
|
||||
.lore(I.t("{gray}» {white}Click{gray} to get only this part"))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}» {white}Click{gray} to get only this part"))
|
||||
.item();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ItemStack getViewItem(Short mapId)
|
||||
{
|
||||
int index = ((PosterMap) map).getIndex(mapId);
|
||||
Material partMaterial = Material.PAPER;
|
||||
if(index % 2 == 0)
|
||||
partMaterial = Material.EMPTY_MAP;
|
||||
|
||||
return new ItemStackBuilder(partMaterial)
|
||||
.title(I.t(getPlayerLocale(), "{green}Map part"))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}Part: {white}{0}", index + 1))
|
||||
.loreLine()
|
||||
.lore(I.t(getPlayerLocale(), "{gray}» {white}Click{gray} to get only this part"))
|
||||
.item();
|
||||
}
|
||||
|
||||
@ -73,6 +90,13 @@ public class MapDetailGui extends ExplorerGui
|
||||
throw new IllegalStateException("Unsupported map type: " + map.getType());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ItemStack getPickedUpItem(Short mapId)
|
||||
{
|
||||
PosterMap poster = (PosterMap) map;
|
||||
return MapItemManager.createMapItem(poster, poster.getIndex(mapId));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ItemStack getEmptyViewItem()
|
||||
{
|
||||
@ -87,25 +111,37 @@ public class MapDetailGui extends ExplorerGui
|
||||
protected void onUpdate()
|
||||
{
|
||||
/// Title of the map details GUI
|
||||
setTitle(I.t("Your maps » {black}{0}", map.getName()));
|
||||
setTitle(I.t(getPlayerLocale(), "Your maps » {black}{0}", map.getName()));
|
||||
setKeepHorizontalScrollingSpace(true);
|
||||
|
||||
if(map instanceof PosterMap)
|
||||
setDataShape(((PosterMap) map).getColumnCount(), ((PosterMap) map).getRowCount());
|
||||
{
|
||||
PosterMap poster = (PosterMap) map;
|
||||
if(poster.hasColumnData())
|
||||
{
|
||||
setDataShape(poster.getColumnCount(), poster.getRowCount());
|
||||
}
|
||||
else
|
||||
{
|
||||
setData(ArrayUtils.toObject(poster.getMapsIDs()));
|
||||
}
|
||||
}
|
||||
else
|
||||
setData(null); // Fallback to the empty view item.
|
||||
{
|
||||
setDataShape(1,1);
|
||||
}
|
||||
|
||||
|
||||
action("rename", getSize() - 7, new ItemStackBuilder(Material.BOOK_AND_QUILL)
|
||||
.title(I.t("{blue}Rename this image"))
|
||||
.longLore(I.t("{gray}Click here to rename this image; this is used for your own organization."))
|
||||
.title(I.t(getPlayerLocale(), "{blue}Rename this image"))
|
||||
.longLore(I.t(getPlayerLocale(), "{gray}Click here to rename this image; this is used for your own organization."))
|
||||
);
|
||||
|
||||
action("delete", getSize() - 6, new ItemStackBuilder(Material.BARRIER)
|
||||
.title(I.t("{red}Delete this image"))
|
||||
.longLore(I.t("{gray}Deletes this map {white}forever{gray}. This action cannot be undone!"))
|
||||
.title(I.t(getPlayerLocale(), "{red}Delete this image"))
|
||||
.longLore(I.t(getPlayerLocale(), "{gray}Deletes this map {white}forever{gray}. This action cannot be undone!"))
|
||||
.loreLine()
|
||||
.longLore(I.t("{gray}You will be asked to confirm your choice if you click here."))
|
||||
.longLore(I.t(getPlayerLocale(), "{gray}You will be asked to confirm your choice if you click here."))
|
||||
);
|
||||
|
||||
|
||||
@ -117,8 +153,8 @@ public class MapDetailGui extends ExplorerGui
|
||||
backSlot++;
|
||||
|
||||
action("back", backSlot, new ItemStackBuilder(Material.EMERALD)
|
||||
.title(I.t("{green}« Back"))
|
||||
.lore(I.t("{gray}Go back to the list."))
|
||||
.title(I.t(getPlayerLocale(), "{green}« Back"))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}Go back to the list."))
|
||||
);
|
||||
}
|
||||
|
||||
@ -133,12 +169,12 @@ public class MapDetailGui extends ExplorerGui
|
||||
{
|
||||
if (newName == null || newName.isEmpty())
|
||||
{
|
||||
getPlayer().sendMessage(I.t("{ce}Map names can't be empty."));
|
||||
I.sendT(getPlayer(), "{ce}Map names can't be empty.");
|
||||
return;
|
||||
}
|
||||
|
||||
map.rename(newName);
|
||||
getPlayer().sendMessage(I.t("{cs}Map successfully renamed."));
|
||||
I.sendT(getPlayer(), "{cs}Map successfully renamed.");
|
||||
}
|
||||
}, map.getName(), this);
|
||||
}
|
||||
|
@ -39,23 +39,35 @@ public class MapListGui extends ExplorerGui<ImageMap>
|
||||
{
|
||||
String mapDescription;
|
||||
if (map instanceof SingleMap)
|
||||
{
|
||||
/// Displayed subtitle description of a single map on the list GUI
|
||||
mapDescription = I.t("{white}Single map");
|
||||
mapDescription = I.t(getPlayerLocale(), "{white}Single map");
|
||||
}
|
||||
else
|
||||
/// Displayed subtitle description of a poster map on the list GUI (columns × rows in english)
|
||||
mapDescription = I.t("{white}Poster map ({0} × {1})", ((PosterMap) map).getColumnCount(), ((PosterMap) map).getRowCount());
|
||||
|
||||
{
|
||||
PosterMap poster = (PosterMap) map;
|
||||
if(poster.hasColumnData())
|
||||
{
|
||||
/// Displayed subtitle description of a poster map on the list GUI (columns × rows in english)
|
||||
mapDescription = I.t(getPlayerLocale(), "{white}Poster map ({0} × {1})", poster.getColumnCount(), poster.getRowCount());
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Displayed subtitle description of a poster map without column data on the list GUI
|
||||
mapDescription = I.t(getPlayerLocale(), "{white}Poster map ({0} parts)", poster.getMapCount());
|
||||
}
|
||||
}
|
||||
return new ItemStackBuilder(Material.MAP)
|
||||
/// Displayed title of a map on the list GUI
|
||||
.title(I.t("{green}{bold}{0}", map.getName()))
|
||||
.title(I.t(getPlayerLocale(), "{green}{bold}{0}", map.getName()))
|
||||
|
||||
.lore(mapDescription)
|
||||
.loreLine()
|
||||
/// Map ID displayed in the tooltip of a map on the list GUI
|
||||
.lore(I.t("{gray}Map ID: {0}", map.getId()))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}Map ID: {0}", map.getId()))
|
||||
.loreLine()
|
||||
.lore(I.t("{gray}» {white}Left-click{gray} to get this map"))
|
||||
.lore(I.t("{gray}» {white}Right-click{gray} for details and options"))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}» {white}Left-click{gray} to get this map"))
|
||||
.lore(I.t(getPlayerLocale(), "{gray}» {white}Right-click{gray} for details and options"))
|
||||
|
||||
.item();
|
||||
}
|
||||
@ -64,8 +76,8 @@ public class MapListGui extends ExplorerGui<ImageMap>
|
||||
protected ItemStack getEmptyViewItem()
|
||||
{
|
||||
return new ItemStackBuilder(Material.BARRIER)
|
||||
.title(I.t("{red}You don't have any map."))
|
||||
.longLore(I.t("{gray}Get started by creating a new one using {white}/tomap <URL> [resize]{gray}!"))
|
||||
.title(I.t(getPlayerLocale(), "{red}You don't have any map."))
|
||||
.longLore(I.t(getPlayerLocale(), "{gray}Get started by creating a new one using {white}/tomap <URL> [resize]{gray}!"))
|
||||
.item();
|
||||
}
|
||||
|
||||
@ -84,7 +96,13 @@ public class MapListGui extends ExplorerGui<ImageMap>
|
||||
}
|
||||
else if (map instanceof PosterMap)
|
||||
{
|
||||
return SplatterMapManager.makeSplatterMap((PosterMap) map);
|
||||
PosterMap poster = (PosterMap) map;
|
||||
|
||||
if(poster.hasColumnData())
|
||||
return SplatterMapManager.makeSplatterMap((PosterMap) map);
|
||||
|
||||
MapItemManager.giveParts(getPlayer(), poster);
|
||||
return null;
|
||||
}
|
||||
|
||||
MapItemManager.give(getPlayer(), map);
|
||||
@ -97,7 +115,7 @@ public class MapListGui extends ExplorerGui<ImageMap>
|
||||
ImageMap[] maps = MapManager.getMaps(getPlayer().getUniqueId());
|
||||
setData(maps);
|
||||
/// The maps list GUI title
|
||||
setTitle(I.t("{black}Your maps {reset}({0})", maps.length));
|
||||
setTitle(I.t(getPlayerLocale(), "{black}Your maps {reset}({0})", maps.length));
|
||||
|
||||
setKeepHorizontalScrollingSpace(true);
|
||||
|
||||
@ -126,24 +144,24 @@ public class MapListGui extends ExplorerGui<ImageMap>
|
||||
double percentageUsed = mapPartLeft < 0 ? 0 : ((double) mapPartCount) / ((double) (mapPartCount + mapPartLeft)) * 100;
|
||||
|
||||
ItemStackBuilder statistics = new ItemStackBuilder(Material.ENCHANTED_BOOK)
|
||||
.title(I.t("{blue}Usage statistics"))
|
||||
.title(I.t(getPlayerLocale(), "{blue}Usage statistics"))
|
||||
.loreLine()
|
||||
.lore(I.tn("{white}{0}{gray} image rendered", "{white}{0}{gray} images rendered", imagesCount))
|
||||
.lore(I.tn("{white}{0}{gray} Minecraft map used", "{white}{0}{gray} Minecraft maps used", mapPartCount));
|
||||
.lore(I.tn(getPlayerLocale(), "{white}{0}{gray} image rendered", "{white}{0}{gray} images rendered", imagesCount))
|
||||
.lore(I.tn(getPlayerLocale(), "{white}{0}{gray} Minecraft map used", "{white}{0}{gray} Minecraft maps used", mapPartCount));
|
||||
|
||||
if(mapPartLeft >= 0)
|
||||
{
|
||||
statistics
|
||||
.lore("", I.t("{blue}Minecraft maps limits"), "")
|
||||
.lore("", I.t(getPlayerLocale(), "{blue}Minecraft maps limits"), "")
|
||||
.lore(mapGlobalLimit == 0
|
||||
? I.t("{gray}Server-wide limit: {white}unlimited")
|
||||
: I.t("{gray}Server-wide limit: {white}{0}", mapGlobalLimit))
|
||||
? I.t(getPlayerLocale(), "{gray}Server-wide limit: {white}unlimited")
|
||||
: I.t(getPlayerLocale(), "{gray}Server-wide limit: {white}{0}", mapGlobalLimit))
|
||||
.lore(mapPersonalLimit == 0
|
||||
? I.t("{gray}Per-player limit: {white}unlimited")
|
||||
: I.t("{gray}Per-player limit: {white}{0}", mapPersonalLimit))
|
||||
? I.t(getPlayerLocale(), "{gray}Per-player limit: {white}unlimited")
|
||||
: I.t(getPlayerLocale(), "{gray}Per-player limit: {white}{0}", mapPersonalLimit))
|
||||
.loreLine()
|
||||
.lore(I.t("{white}{0} %{gray} of your quota used", (int) Math.rint(percentageUsed)))
|
||||
.lore(I.tn("{white}{0}{gray} map left", "{white}{0}{gray} maps left", mapPartLeft));
|
||||
.lore(I.t(getPlayerLocale(), "{white}{0} %{gray} of your quota used", (int) Math.rint(percentageUsed)))
|
||||
.lore(I.tn(getPlayerLocale(), "{white}{0}{gray} map left", "{white}{0}{gray} maps left", mapPartLeft));
|
||||
}
|
||||
|
||||
statistics.hideAttributes();
|
||||
|
@ -28,8 +28,10 @@ import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.ItemFrame;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||
import org.bukkit.event.player.PlayerItemHeldEvent;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
import org.bukkit.event.world.ChunkLoadEvent;
|
||||
@ -95,17 +97,22 @@ public class MapInitEvent implements Listener
|
||||
}
|
||||
}
|
||||
|
||||
static protected void initMap(ItemStack item)
|
||||
static public void initMap(ItemStack item)
|
||||
{
|
||||
if (item != null && item.getType() == Material.MAP)
|
||||
{
|
||||
MapView map = Bukkit.getMap(item.getDurability());
|
||||
initMap(map);
|
||||
initMap(item.getDurability());
|
||||
}
|
||||
}
|
||||
|
||||
static protected void initMap(MapView map)
|
||||
static public void initMap(short id)
|
||||
{
|
||||
initMap(Bukkit.getMap(id));
|
||||
}
|
||||
|
||||
static public void initMap(MapView map)
|
||||
{
|
||||
if(map == null) return;
|
||||
if(Renderer.isHandled(map)) return;
|
||||
|
||||
File imageFile = ImageOnMap.getPlugin().getImageFile(map.getId());
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package fr.moribus.imageonmap.image;
|
||||
|
||||
import fr.zcraft.zlib.tools.PluginLogger;
|
||||
import java.awt.image.BufferedImage;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -29,6 +30,7 @@ public class Renderer extends MapRenderer
|
||||
{
|
||||
static public boolean isHandled(MapView map)
|
||||
{
|
||||
if(map == null) return false;
|
||||
for(MapRenderer renderer : map.getRenderers())
|
||||
{
|
||||
if(renderer instanceof Renderer) return true;
|
||||
@ -46,7 +48,15 @@ public class Renderer extends MapRenderer
|
||||
|
||||
static public void installRenderer(BufferedImage image, short mapID)
|
||||
{
|
||||
installRenderer(Bukkit.getMap(mapID)).setImage(image);
|
||||
MapView map = Bukkit.getMap(mapID);
|
||||
if(map == null)
|
||||
{
|
||||
PluginLogger.warning("Could not install renderer for map {0} : the Minecraft map does not exist", mapID);
|
||||
}
|
||||
else
|
||||
{
|
||||
installRenderer(map).setImage(image);
|
||||
}
|
||||
}
|
||||
|
||||
static public Renderer installRenderer(MapView map)
|
||||
|
@ -307,6 +307,23 @@ abstract public class MapManager
|
||||
return mapCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the given map ID is valid and exists in the current save.
|
||||
* @param mapId the map ID.
|
||||
* @return true if the given map ID is valid and exists in the current save, false otherwise.
|
||||
*/
|
||||
static public boolean mapIdExists(short mapId)
|
||||
{
|
||||
try
|
||||
{
|
||||
return Bukkit.getMap(mapId) != null;
|
||||
}
|
||||
catch(Throwable ex)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static private PlayerMapStore getPlayerMapStore(UUID playerUUID)
|
||||
{
|
||||
PlayerMapStore store;
|
||||
|
@ -223,7 +223,7 @@ public class PlayerMapStore implements ConfigurationSerializable
|
||||
try { checkMapLimit(0); }
|
||||
catch(MapManagerException ex)
|
||||
{
|
||||
PluginLogger.warning("Map limit exceeded for player '{0}' ({1} maps loaded)",
|
||||
PluginLogger.warning("Map limit exceeded for player {0} ({1} maps loaded)",
|
||||
playerUUID.toString(),mapList.size());
|
||||
}
|
||||
}
|
||||
|
@ -108,13 +108,13 @@ public class PosterMap extends ImageMap
|
||||
public int getColumnAt(int i)
|
||||
{
|
||||
if(columnCount == 0) return 0;
|
||||
return (i % columnCount) + 1;
|
||||
return (i % columnCount);
|
||||
}
|
||||
|
||||
public int getRowAt(int i)
|
||||
{
|
||||
if(columnCount == 0) return 0;
|
||||
return (i / columnCount) + 1;
|
||||
return (i / columnCount);
|
||||
}
|
||||
|
||||
public int getIndexAt(int col, int row)
|
||||
@ -140,7 +140,6 @@ public class PosterMap extends ImageMap
|
||||
{
|
||||
int x = index % (columnCount);
|
||||
int y = index / (columnCount);
|
||||
System.out.println(x + " : " + (rowCount - y - 1) + " (" + index);
|
||||
return getMapIdAt(x, rowCount - y - 1);
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
package fr.moribus.imageonmap.migration;
|
||||
|
||||
import fr.moribus.imageonmap.map.ImageMap;
|
||||
import fr.moribus.imageonmap.map.MapManager;
|
||||
import fr.moribus.imageonmap.map.SingleMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -73,6 +74,11 @@ class OldSavedMap
|
||||
configuration.set(mapName, data);
|
||||
}
|
||||
|
||||
public boolean isMapValid()
|
||||
{
|
||||
return MapManager.mapIdExists(mapId);
|
||||
}
|
||||
|
||||
public short getMapId() {return mapId;}
|
||||
public String getUserName() {return userName;}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@
|
||||
package fr.moribus.imageonmap.migration;
|
||||
|
||||
import fr.moribus.imageonmap.map.ImageMap;
|
||||
import fr.moribus.imageonmap.map.MapManager;
|
||||
import fr.moribus.imageonmap.map.PosterMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -94,5 +95,16 @@ class OldSavedPoster
|
||||
|
||||
}
|
||||
|
||||
public boolean isMapValid()
|
||||
{
|
||||
for(short mapId : mapsIds)
|
||||
{
|
||||
if(!MapManager.mapIdExists(mapId))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public String getUserName() {return userName;}
|
||||
public short[] getMapsIds() {return mapsIds;}
|
||||
}
|
||||
|
@ -39,9 +39,12 @@ import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import org.apache.commons.lang.ArrayUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
/**
|
||||
* This class represents and executes the ImageOnMap v3.x migration process
|
||||
@ -241,7 +244,7 @@ public class V3Migrator implements Runnable
|
||||
*/
|
||||
private void backupMapData() throws IOException
|
||||
{
|
||||
PluginLogger.info("Backing up map data before migrating...");
|
||||
PluginLogger.info(I.t("Backing up map data before migrating..."));
|
||||
|
||||
if(!backupsPrev3Directory.exists()) backupsPrev3Directory.mkdirs();
|
||||
if(!backupsPostv3Directory.exists()) backupsPostv3Directory.mkdirs();
|
||||
@ -265,7 +268,7 @@ public class V3Migrator implements Runnable
|
||||
verifiedBackupCopy(mapFile, backupFile);
|
||||
}
|
||||
|
||||
PluginLogger.info("Backup complete.");
|
||||
PluginLogger.info(I.t("Backup complete."));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -301,12 +304,13 @@ public class V3Migrator implements Runnable
|
||||
try
|
||||
{
|
||||
oldPoster = new OldSavedPoster(oldPosters.get(key), key);
|
||||
userNamesToFetch.add(oldPoster.getUserName());
|
||||
postersToMigrate.add(oldPoster);
|
||||
if(!userNamesToFetch.contains(oldPoster.getUserName()))
|
||||
userNamesToFetch.add(oldPoster.getUserName());
|
||||
}
|
||||
catch(InvalidConfigurationException ex)
|
||||
{
|
||||
PluginLogger.warning("Could not read poster data for key '{0}'", ex, key);
|
||||
PluginLogger.warning("Could not read poster data for key {0}", ex, key);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -324,6 +328,9 @@ public class V3Migrator implements Runnable
|
||||
oldMap = new OldSavedMap(oldMaps.get(key));
|
||||
|
||||
if(!posterContains(oldMap)) mapsToMigrate.add(oldMap);
|
||||
|
||||
if(!userNamesToFetch.contains(oldMap.getUserName()))
|
||||
userNamesToFetch.add(oldMap.getUserName());
|
||||
}
|
||||
catch(InvalidConfigurationException ex)
|
||||
{
|
||||
@ -420,6 +427,8 @@ public class V3Migrator implements Runnable
|
||||
ArrayDeque<OldSavedMap> remainingMaps = new ArrayDeque<>();
|
||||
ArrayDeque<OldSavedPoster> remainingPosters = new ArrayDeque<>();
|
||||
|
||||
ArrayDeque<Short> missingMapIds = new ArrayDeque<>();
|
||||
|
||||
UUID playerUUID;
|
||||
OldSavedMap map;
|
||||
while(!mapsToMigrate.isEmpty())
|
||||
@ -430,6 +439,10 @@ public class V3Migrator implements Runnable
|
||||
{
|
||||
remainingMaps.add(map);
|
||||
}
|
||||
else if(!map.isMapValid())
|
||||
{
|
||||
missingMapIds.add(map.getMapId());
|
||||
}
|
||||
else
|
||||
{
|
||||
MapManager.insertMap(map.toImageMap(playerUUID));
|
||||
@ -446,12 +459,23 @@ public class V3Migrator implements Runnable
|
||||
{
|
||||
remainingPosters.add(poster);
|
||||
}
|
||||
else if(!poster.isMapValid())
|
||||
{
|
||||
missingMapIds.addAll(Arrays.asList(ArrayUtils.toObject(poster.getMapsIds())));
|
||||
}
|
||||
else
|
||||
{
|
||||
MapManager.insertMap(poster.toImageMap(playerUUID));
|
||||
}
|
||||
}
|
||||
postersToMigrate.addAll(remainingPosters);
|
||||
|
||||
if(!missingMapIds.isEmpty())
|
||||
{
|
||||
PluginLogger.warning(I.tn("{0} registered minecraft map is missing from the save.", "{0} registered minecraft maps are missing from the save.", missingMapIds.size()));
|
||||
PluginLogger.warning(I.t("These maps will not be migrated, but this could mean the save has been altered or corrupted."));
|
||||
PluginLogger.warning(I.t("The following maps are missing : {0} ", StringUtils.join(missingMapIds, ',')));
|
||||
}
|
||||
}
|
||||
|
||||
private void saveChanges()
|
||||
|
@ -31,6 +31,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.entity.ItemFrame;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||
@ -72,9 +73,32 @@ public class MapItemManager implements Listener
|
||||
|
||||
static public boolean give(Player player, PosterMap map)
|
||||
{
|
||||
if(!map.hasColumnData())
|
||||
return giveParts(player, map);
|
||||
return give(player, SplatterMapManager.makeSplatterMap(map));
|
||||
}
|
||||
|
||||
static public boolean giveParts(Player player, PosterMap map)
|
||||
{
|
||||
boolean inventoryFull = false;
|
||||
|
||||
ItemStack mapPartItem;
|
||||
for(int i = 0, c = map.getMapCount(); i < c; i++)
|
||||
{
|
||||
if(map.hasColumnData())
|
||||
{
|
||||
mapPartItem = createMapItem(map, map.getColumnAt(i), map.getRowAt(i));
|
||||
}
|
||||
else
|
||||
{
|
||||
mapPartItem = createMapItem(map, i);
|
||||
}
|
||||
inventoryFull = give(player, mapPartItem) || inventoryFull;
|
||||
}
|
||||
|
||||
return inventoryFull;
|
||||
}
|
||||
|
||||
static public int giveCache(Player player)
|
||||
{
|
||||
Queue<ItemStack> cache = getCache(player);
|
||||
@ -109,19 +133,26 @@ public class MapItemManager implements Listener
|
||||
return createMapItem(map.getMapsIDs()[0], map.getName());
|
||||
}
|
||||
|
||||
static public ItemStack createMapItem(PosterMap map, int index)
|
||||
{
|
||||
/// The name of a map item given to a player, if splatter maps are not used. 0 = map name; 1 = index.
|
||||
return createMapItem(map.getMapIdAt(index), getMapTitle(map, index));
|
||||
}
|
||||
|
||||
static public ItemStack createMapItem(PosterMap map, int x, int y)
|
||||
{
|
||||
String mapName;
|
||||
if(map.hasColumnData())
|
||||
{
|
||||
/// The name of a map item given to a player, if splatter maps are not used. 0 = map name; 1 = row; 2 = column.
|
||||
mapName = I.t("{0} (row {1}, column {2})", map.getName(), x, y);
|
||||
}
|
||||
else
|
||||
{
|
||||
mapName = map.getName();
|
||||
}
|
||||
return createMapItem(map.getMapIdAt(x, y), mapName);
|
||||
/// The name of a map item given to a player, if splatter maps are not used. 0 = map name; 1 = row; 2 = column.
|
||||
return createMapItem(map.getMapIdAt(x, y), getMapTitle(map, y, x));
|
||||
}
|
||||
|
||||
static public String getMapTitle(PosterMap map, int row, int column)
|
||||
{
|
||||
return I.t("{0} (row {1}, column {2})", map.getName(), row + 1, column + 1);
|
||||
}
|
||||
|
||||
static public String getMapTitle(PosterMap map, int index)
|
||||
{
|
||||
return I.t("{0} (part {1})", map.getName(), index + 1);
|
||||
}
|
||||
|
||||
static public ItemStack createMapItem(short mapID, String text)
|
||||
@ -148,10 +179,7 @@ public class MapItemManager implements Listener
|
||||
{
|
||||
if(map instanceof PosterMap && ((PosterMap) map).hasColumnData())
|
||||
{
|
||||
return MapItemManager.createMapItem(
|
||||
((PosterMap) map).getMapIdAt(x, y),
|
||||
I.t("{0} (row {1}, column {2})", map.getName(), y + 1, x + 1)
|
||||
);
|
||||
return MapItemManager.createMapItem((PosterMap) map, x, y);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -191,7 +219,10 @@ public class MapItemManager implements Listener
|
||||
{
|
||||
PosterMap poster = (PosterMap) map;
|
||||
int index = poster.getIndex(item.getDurability());
|
||||
return I.t("{0} (row {1}, column {2})", map.getName(), poster.getRowAt(index), poster.getColumnAt(index));
|
||||
if(poster.hasColumnData())
|
||||
return getMapTitle(poster, poster.getRowAt(index), poster.getColumnAt(index));
|
||||
|
||||
return getMapTitle(poster, index);
|
||||
}
|
||||
}
|
||||
|
||||
@ -199,10 +230,12 @@ public class MapItemManager implements Listener
|
||||
{
|
||||
if(frame.getItem().getType() != Material.AIR) return;
|
||||
if(!MapManager.managesMap(player.getItemInHand())) return;
|
||||
event.setCancelled(true);
|
||||
|
||||
if(SplatterMapManager.hasSplatterAttributes(player.getItemInHand()))
|
||||
{
|
||||
SplatterMapManager.placeSplatterMap(frame, player);
|
||||
if(!SplatterMapManager.placeSplatterMap(frame, player))
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -210,7 +243,6 @@ public class MapItemManager implements Listener
|
||||
frame.setItem(is);
|
||||
}
|
||||
|
||||
event.setCancelled(true);
|
||||
ItemUtils.consumeItem(player);
|
||||
}
|
||||
|
||||
@ -225,32 +257,37 @@ public class MapItemManager implements Listener
|
||||
if(poster != null)
|
||||
{
|
||||
event.setCancelled(true);
|
||||
if(player.getGameMode() == GameMode.CREATIVE)
|
||||
{
|
||||
if(!SplatterMapManager.hasSplatterMap(player, poster))
|
||||
poster.give(player);
|
||||
}
|
||||
|
||||
if(player.getGameMode() != GameMode.CREATIVE || !SplatterMapManager.hasSplatterMap(player, poster))
|
||||
poster.give(player);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(!MapManager.managesMap(frame.getItem())) return;
|
||||
frame.setItem(ItemUtils.setDisplayName(item, getMapTitle(item)));
|
||||
|
||||
frame.setItem(new ItemStackBuilder(item)
|
||||
.title(getMapTitle(item))
|
||||
.hideAttributes()
|
||||
.item());
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
static public void onEntityDamage(EntityDamageByEntityEvent event)
|
||||
{
|
||||
if(event.isCancelled()) return;
|
||||
if(!(event.getEntity() instanceof ItemFrame)) return;
|
||||
if(!(event.getDamager() instanceof Player)) return;
|
||||
|
||||
onItemFrameRemove((ItemFrame)event.getEntity(), (Player)event.getDamager(), event);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
static public void onEntityInteract(PlayerInteractEntityEvent event)
|
||||
{
|
||||
if(event.isCancelled()) return;
|
||||
if(!(event.getRightClicked() instanceof ItemFrame)) return;
|
||||
|
||||
onItemFramePlace((ItemFrame)event.getRightClicked(), event.getPlayer(), event);
|
||||
|
@ -75,7 +75,7 @@ public class PosterWall
|
||||
int mapIndex = map.getIndex(mapId);
|
||||
int x = map.getColumnAt(mapIndex), y = map.getRowAt(mapIndex);
|
||||
|
||||
return getMatchingMapFrames(map, location.clone().add(-x + 1, y - 1));
|
||||
return getMatchingMapFrames(map, location.clone().add(-x, y));
|
||||
}
|
||||
|
||||
static public ItemFrame[] getMatchingMapFrames(PosterMap map, FlatLocation location)
|
||||
@ -87,8 +87,6 @@ public class PosterWall
|
||||
{
|
||||
for(int x = 0; x < map.getColumnCount(); ++x)
|
||||
{
|
||||
//Location newLocation = WorldUtils.addToLocation(topLeftLocation, x, -y, facing);
|
||||
//System.out.println("Checking : " + loc);
|
||||
int mapIndex = map.getIndexAt(x, y);
|
||||
ItemFrame frame = getMapFrameAt(loc, map);
|
||||
if(frame != null) frames[mapIndex] = frame;
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package fr.moribus.imageonmap.ui;
|
||||
|
||||
import fr.moribus.imageonmap.image.MapInitEvent;
|
||||
import fr.moribus.imageonmap.map.ImageMap;
|
||||
import fr.moribus.imageonmap.map.MapManager;
|
||||
import fr.moribus.imageonmap.map.PosterMap;
|
||||
@ -105,7 +106,9 @@ abstract public class SplatterMapManager
|
||||
int i = 0;
|
||||
for(ItemFrame frame : wall.frames)
|
||||
{
|
||||
frame.setItem(new ItemStack(Material.MAP, 1, poster.getMapIdAtReverseY(i)));
|
||||
short id = poster.getMapIdAtReverseY(i);
|
||||
frame.setItem(new ItemStack(Material.MAP, 1, id));
|
||||
MapInitEvent.initMap(id);
|
||||
++i;
|
||||
}
|
||||
|
||||
@ -117,6 +120,7 @@ abstract public class SplatterMapManager
|
||||
ImageMap map = MapManager.getMap(startFrame.getItem());
|
||||
if(map == null || !(map instanceof PosterMap)) return null;
|
||||
PosterMap poster = (PosterMap) map;
|
||||
if(!poster.hasColumnData()) return null;
|
||||
FlatLocation loc = new FlatLocation(startFrame.getLocation(), startFrame.getFacing());
|
||||
ItemFrame[] matchingFrames = PosterWall.getMatchingMapFrames(poster, loc, startFrame.getItem().getDurability());
|
||||
if(matchingFrames == null) return null;
|
||||
|
589
src/main/resources/i18n/en_US.po
Normal file
589
src/main/resources/i18n/en_US.po
Normal file
@ -0,0 +1,589 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-07-10 03:07+0200\n"
|
||||
"PO-Revision-Date: 2016-07-10 03:08+0200\n"
|
||||
"Last-Translator: Adrien Prokopowicz\n"
|
||||
"Language-Team: \n"
|
||||
"Language: en_US\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n < 1 || n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.7.1\n"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/IoMCommand.java:40
|
||||
msgid "You need to give a map name."
|
||||
msgstr "You need to give a map name."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/IoMCommand.java:57
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteNoConfirmCommand.java:51
|
||||
msgid "This map does not exist."
|
||||
msgstr "This map does not exist."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteConfirmCommand.java:39
|
||||
msgid "You are going to delete"
|
||||
msgstr "You are going to delete"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteConfirmCommand.java:42
|
||||
msgid "Are you sure ? "
|
||||
msgstr "Are you sure ? "
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteConfirmCommand.java:44
|
||||
msgid "[Confirm]"
|
||||
msgstr "[Confirm]"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteConfirmCommand.java:46
|
||||
msgid "{red}This map will be deleted {bold}forever{red}!"
|
||||
msgstr "{red}This map will be deleted {bold}forever{red}!"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteNoConfirmCommand.java:46
|
||||
msgid "Map successfully deleted."
|
||||
msgstr "Map successfully deleted."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/GetCommand.java:38
|
||||
msgid "The requested map was too big to fit in your inventory."
|
||||
msgstr "The requested map was too big to fit in your inventory."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/GetCommand.java:39
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/NewCommand.java:71
|
||||
msgid "Use '/maptool getremaining' to get the remaining maps."
|
||||
msgstr "Use '/maptool getremaining' to get the remaining maps."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/GetRemainingCommand.java:38
|
||||
msgid "You have no remaining map."
|
||||
msgstr "You have no remaining map."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/GetRemainingCommand.java:46
|
||||
msgid ""
|
||||
"Your inventory is full! Make some space before requesting the remaining maps."
|
||||
msgstr ""
|
||||
"Your inventory is full! Make some space before requesting the remaining maps."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/GetRemainingCommand.java:50
|
||||
#, java-format
|
||||
msgid "There is {0} map remaining."
|
||||
msgid_plural "There are {0} maps remaining."
|
||||
msgstr[0] "There is {0} map remaining."
|
||||
msgstr[1] "There are {0} maps remaining."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/ListCommand.java:49
|
||||
msgid "No map found."
|
||||
msgstr "No map found."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/ListCommand.java:53
|
||||
msgid "{white}{bold}{0} map found."
|
||||
msgid_plural "{white}{bold}{0} maps found."
|
||||
msgstr[0] "{white}{bold}{0} map found."
|
||||
msgstr[1] "{white}{bold}{0} maps found."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/ListCommand.java:79
|
||||
msgid "{white}Click{gray} to get this map"
|
||||
msgstr "{white}Click{gray} to get this map"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/MigrateCommand.java:36
|
||||
msgid "A migration process is already running. Check console for details."
|
||||
msgstr "A migration process is already running. Check console for details."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/MigrateCommand.java:40
|
||||
msgid "Migration started. See console for details."
|
||||
msgstr "Migration started. See console for details."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/NewCommand.java:44
|
||||
msgid "You must give an URL to take the image from."
|
||||
msgstr "You must give an URL to take the image from."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/NewCommand.java:52
|
||||
msgid "Invalid URL."
|
||||
msgstr "Invalid URL."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/NewCommand.java:61
|
||||
msgid "Rendering..."
|
||||
msgstr "Rendering..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/NewCommand.java:67
|
||||
msgid "{cst}Rendering finished!"
|
||||
msgstr "{cst}Rendering finished!"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/NewCommand.java:70
|
||||
msgid "The rendered map was too big to fit in your inventory."
|
||||
msgstr "The rendered map was too big to fit in your inventory."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/NewCommand.java:78
|
||||
msgid "{ce}Map rendering failed: {0}"
|
||||
msgstr "{ce}Map rendering failed: {0}"
|
||||
|
||||
#. The title of the map deletion GUI. {0}: map name.
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:102
|
||||
msgid "{0} » {black}Confirm deletion"
|
||||
msgstr "{0} » {black}Confirm deletion"
|
||||
|
||||
#. The title of the map deletion item
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:110
|
||||
msgid "{red}You're about to destroy this map..."
|
||||
msgstr "{red}You're about to destroy this map..."
|
||||
|
||||
#. The end, in the lore, of a title starting with “You're about to destroy this map...”.
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:112
|
||||
msgid "{red}...{italic}forever{red}."
|
||||
msgstr "{red}...{italic}forever{red}."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:114
|
||||
msgid "{gray}Name: {white}{0}"
|
||||
msgstr "{gray}Name: {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:115
|
||||
msgid "{gray}Map ID: {white}{0}"
|
||||
msgstr "{gray}Map ID: {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:116
|
||||
msgid "{gray}Maps inside: {white}{0}"
|
||||
msgstr "{gray}Maps inside: {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:178
|
||||
msgid "{gray}Map successfully deleted."
|
||||
msgstr "{gray}Map successfully deleted."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:54
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:71
|
||||
msgid "{green}Map part"
|
||||
msgstr "{green}Map part"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:55
|
||||
msgid "{gray}Column: {white}{0}"
|
||||
msgstr "{gray}Column: {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:56
|
||||
msgid "{gray}Row: {white}{0}"
|
||||
msgstr "{gray}Row: {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:58
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:74
|
||||
msgid "{gray}» {white}Click{gray} to get only this part"
|
||||
msgstr "{gray}» {white}Click{gray} to get only this part"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:72
|
||||
msgid "{gray}Part: {white}{0}"
|
||||
msgstr "{gray}Part: {white}{0}"
|
||||
|
||||
#. Title of the map details GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:114
|
||||
msgid "Your maps » {black}{0}"
|
||||
msgstr "Your maps » {black}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:136
|
||||
msgid "{blue}Rename this image"
|
||||
msgstr "{blue}Rename this image"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:137
|
||||
msgid ""
|
||||
"{gray}Click here to rename this image; this is used for your own "
|
||||
"organization."
|
||||
msgstr ""
|
||||
"{gray}Click here to rename this image; this is used for your own "
|
||||
"organization."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:141
|
||||
msgid "{red}Delete this image"
|
||||
msgstr "{red}Delete this image"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:142
|
||||
msgid ""
|
||||
"{gray}Deletes this map {white}forever{gray}. This action cannot be undone!"
|
||||
msgstr ""
|
||||
"{gray}Deletes this map {white}forever{gray}. This action cannot be undone!"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:144
|
||||
msgid "{gray}You will be asked to confirm your choice if you click here."
|
||||
msgstr "{gray}You will be asked to confirm your choice if you click here."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:156
|
||||
msgid "{green}« Back"
|
||||
msgstr "{green}« Back"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:157
|
||||
msgid "{gray}Go back to the list."
|
||||
msgstr "{gray}Go back to the list."
|
||||
|
||||
#. Displayed subtitle description of a single map on the list GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:44
|
||||
msgid "{white}Single map"
|
||||
msgstr "{white}Single map"
|
||||
|
||||
#. Displayed subtitle description of a poster map on the list GUI (columns × rows in english)
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:52
|
||||
msgid "{white}Poster map ({0} × {1})"
|
||||
msgstr "{white}Poster map ({0} × {1})"
|
||||
|
||||
#. Displayed subtitle description of a poster map without column data on the list GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:57
|
||||
msgid "{white}Poster map ({0} parts)"
|
||||
msgstr "{white}Poster map ({0} parts)"
|
||||
|
||||
#. Displayed title of a map on the list GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:62
|
||||
msgid "{green}{bold}{0}"
|
||||
msgstr "{green}{bold}{0}"
|
||||
|
||||
#. Map ID displayed in the tooltip of a map on the list GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:67
|
||||
msgid "{gray}Map ID: {0}"
|
||||
msgstr "{gray}Map ID: {0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:69
|
||||
msgid "{gray}» {white}Left-click{gray} to get this map"
|
||||
msgstr "{gray}» {white}Left-click{gray} to get this map"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:70
|
||||
msgid "{gray}» {white}Right-click{gray} for details and options"
|
||||
msgstr "{gray}» {white}Right-click{gray} for details and options"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:79
|
||||
msgid "{red}You don't have any map."
|
||||
msgstr "{red}You don't have any map."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:80
|
||||
msgid ""
|
||||
"{gray}Get started by creating a new one using {white}/tomap <URL> [resize]"
|
||||
"{gray}!"
|
||||
msgstr ""
|
||||
"{gray}Get started by creating a new one using {white}/tomap <URL> [resize]"
|
||||
"{gray}!"
|
||||
|
||||
#. The maps list GUI title
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:119
|
||||
msgid "{black}Your maps {reset}({0})"
|
||||
msgstr "{black}Your maps {reset}({0})"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:148
|
||||
msgid "{blue}Usage statistics"
|
||||
msgstr "{blue}Usage statistics"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:150
|
||||
msgid "{white}{0}{gray} image rendered"
|
||||
msgid_plural "{white}{0}{gray} images rendered"
|
||||
msgstr[0] "{white}{0}{gray} image rendered"
|
||||
msgstr[1] "{white}{0}{gray} images rendered"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:151
|
||||
msgid "{white}{0}{gray} Minecraft map used"
|
||||
msgid_plural "{white}{0}{gray} Minecraft maps used"
|
||||
msgstr[0] "{white}{0}{gray} Minecraft map used"
|
||||
msgstr[1] "{white}{0}{gray} Minecraft maps used"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:156
|
||||
msgid "{blue}Minecraft maps limits"
|
||||
msgstr "{blue}Minecraft maps limits"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:158
|
||||
msgid "{gray}Server-wide limit: {white}unlimited"
|
||||
msgstr "{gray}Server-wide limit: {white}unlimited"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:159
|
||||
msgid "{gray}Server-wide limit: {white}{0}"
|
||||
msgstr "{gray}Server-wide limit: {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:161
|
||||
msgid "{gray}Per-player limit: {white}unlimited"
|
||||
msgstr "{gray}Per-player limit: {white}unlimited"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:162
|
||||
msgid "{gray}Per-player limit: {white}{0}"
|
||||
msgstr "{gray}Per-player limit: {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:164
|
||||
msgid "{white}{0} %{gray} of your quota used"
|
||||
msgstr "{white}{0} %{gray} of your quota used"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:165
|
||||
msgid "{white}{0}{gray} map left"
|
||||
msgid_plural "{white}{0}{gray} maps left"
|
||||
msgstr[0] "{white}{0}{gray} map left"
|
||||
msgstr[1] "{white}{0}{gray} maps left"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/image/ImageRendererExecutor.java:73
|
||||
#, java-format
|
||||
msgid "HTTP error : {0} {1}"
|
||||
msgstr "HTTP error : {0} {1}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/image/ImageRendererExecutor.java:79
|
||||
msgid "The given URL is not a valid image"
|
||||
msgstr "The given URL is not a valid image"
|
||||
|
||||
#. The default display name of a map
|
||||
#: src/main/java/fr/moribus/imageonmap/map/ImageMap.java:44
|
||||
msgid "Map"
|
||||
msgstr "Map"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/map/MapManagerException.java:29
|
||||
#, java-format
|
||||
msgid "You have too many maps (maximum : {0})."
|
||||
msgstr "You have too many maps (maximum : {0})."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/map/MapManagerException.java:30
|
||||
msgid "The server ImageOnMap limit has been reached."
|
||||
msgstr "The server ImageOnMap limit has been reached."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/map/MapManagerException.java:31
|
||||
msgid "The given map does not exist."
|
||||
msgstr "The given map does not exist."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/MigratorExecutor.java:34
|
||||
msgid "Migration is already running."
|
||||
msgstr "Migration is already running."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/MigratorExecutor.java:50
|
||||
msgid "Waiting for migration to finish..."
|
||||
msgstr "Waiting for migration to finish..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/MigratorExecutor.java:58
|
||||
msgid ""
|
||||
"Migration thread has been interrupted while waiting to finish. It may not "
|
||||
"have ended correctly."
|
||||
msgstr ""
|
||||
"Migration thread has been interrupted while waiting to finish. It may not "
|
||||
"have ended correctly."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:176
|
||||
msgid "Error while preparing migration"
|
||||
msgstr "Error while preparing migration"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:177
|
||||
msgid "Aborting migration. No change has been made."
|
||||
msgstr "Aborting migration. No change has been made."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:189
|
||||
msgid "Error while migrating"
|
||||
msgstr "Error while migrating"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:190
|
||||
msgid "Aborting migration. Some changes may already have been made."
|
||||
msgstr "Aborting migration. Some changes may already have been made."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:191
|
||||
msgid ""
|
||||
"Before trying to migrate again, you must recover player files from the "
|
||||
"backups, and then move the backups away from the plugin directory to avoid "
|
||||
"overwriting them."
|
||||
msgstr ""
|
||||
"Before trying to migrate again, you must recover player files from the "
|
||||
"backups, and then move the backups away from the plugin directory to avoid "
|
||||
"overwriting them."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:203
|
||||
msgid "Looking for configuration files to migrate..."
|
||||
msgstr "Looking for configuration files to migrate..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:206
|
||||
#, java-format
|
||||
msgid "Detected former posters file {0}"
|
||||
msgstr "Detected former posters file {0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:209
|
||||
#, java-format
|
||||
msgid "Detected former maps file {0}"
|
||||
msgstr "Detected former maps file {0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:213
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:416
|
||||
msgid "There is nothing to migrate. Stopping."
|
||||
msgstr "There is nothing to migrate. Stopping."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:218
|
||||
msgid "Done."
|
||||
msgstr "Done."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:232
|
||||
msgid "Backup directories already exists."
|
||||
msgstr "Backup directories already exists."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:233
|
||||
msgid ""
|
||||
"This means that a migration has already been done, or may not have ended "
|
||||
"well."
|
||||
msgstr ""
|
||||
"This means that a migration has already been done, or may not have ended "
|
||||
"well."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:234
|
||||
msgid ""
|
||||
"To start a new migration, you must move away the backup directories so they "
|
||||
"are not overwritten."
|
||||
msgstr ""
|
||||
"To start a new migration, you must move away the backup directories so they "
|
||||
"are not overwritten."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:247
|
||||
msgid "Backing up map data before migrating..."
|
||||
msgstr "Backing up map data before migrating..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:271
|
||||
msgid "Backup complete."
|
||||
msgstr "Backup complete."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:352
|
||||
msgid "Fetching UUIDs from Mojang..."
|
||||
msgstr "Fetching UUIDs from Mojang..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:359
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:387
|
||||
msgid "An error occurred while fetching the UUIDs from Mojang"
|
||||
msgstr "An error occurred while fetching the UUIDs from Mojang"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:364
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:392
|
||||
msgid "The migration worker has been interrupted"
|
||||
msgstr "The migration worker has been interrupted"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:367
|
||||
#, java-format
|
||||
msgid "Fetching done. {0} UUID have been retrieved."
|
||||
msgid_plural "Fetching done. {0} UUIDs have been retrieved."
|
||||
msgstr[0] "Fetching done. {0} UUID have been retrieved."
|
||||
msgstr[1] "Fetching done. {0} UUIDs have been retrieved."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:378
|
||||
#, java-format
|
||||
msgid "Mojang did not find UUIDs for {0} player at the current time."
|
||||
msgid_plural "Mojang did not find UUIDs for {0} players at the current time."
|
||||
msgstr[0] "Mojang did not find UUIDs for {0} player at the current time."
|
||||
msgstr[1] "Mojang did not find UUIDs for {0} players at the current time."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:379
|
||||
msgid ""
|
||||
"The Mojang servers limit requests rate at one per second, this may take some "
|
||||
"time..."
|
||||
msgstr ""
|
||||
"The Mojang servers limit requests rate at one per second, this may take some "
|
||||
"time..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:398
|
||||
#, java-format
|
||||
msgid "Mojang did not find player data for {0} player"
|
||||
msgid_plural "Mojang did not find player data for {0} players"
|
||||
msgstr[0] "Mojang did not find player data for {0} player"
|
||||
msgstr[1] "Mojang did not find player data for {0} players"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:400
|
||||
msgid "The following players do not exist or do not have paid accounts :"
|
||||
msgstr "The following players do not exist or do not have paid accounts :"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:415
|
||||
msgid "Mojang could not find any of the registered players."
|
||||
msgstr "Mojang could not find any of the registered players."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:425
|
||||
msgid "Merging map data..."
|
||||
msgstr "Merging map data..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:475
|
||||
#, java-format
|
||||
msgid "{0} registered minecraft map is missing from the save."
|
||||
msgid_plural "{0} registered minecraft maps are missing from the save."
|
||||
msgstr[0] "{0} registered minecraft map is missing from the save."
|
||||
msgstr[1] "{0} registered minecraft maps are missing from the save."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:476
|
||||
msgid ""
|
||||
"These maps will not be migrated, but this could mean the save has been "
|
||||
"altered or corrupted."
|
||||
msgstr ""
|
||||
"These maps will not be migrated, but this could mean the save has been "
|
||||
"altered or corrupted."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:477
|
||||
#, java-format
|
||||
msgid "The following maps are missing : {0} "
|
||||
msgstr "The following maps are missing : {0} "
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:483
|
||||
msgid "Saving changes..."
|
||||
msgstr "Saving changes..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:489
|
||||
msgid "Cleaning up old data files..."
|
||||
msgstr "Cleaning up old data files..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:496
|
||||
msgid "Deleting old map data file..."
|
||||
msgstr "Deleting old map data file..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:501
|
||||
#, java-format
|
||||
msgid "{0} map could not be migrated."
|
||||
msgid_plural "{0} maps could not be migrated."
|
||||
msgstr[0] "{0} map could not be migrated."
|
||||
msgstr[1] "{0} maps could not be migrated."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:519
|
||||
msgid "Deleting old poster data file..."
|
||||
msgstr "Deleting old poster data file..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:524
|
||||
#, java-format
|
||||
msgid "{0} poster could not be migrated."
|
||||
msgid_plural "{0} posters could not be migrated."
|
||||
msgstr[0] "{0} poster could not be migrated."
|
||||
msgstr[1] "{0} posters could not be migrated."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:537
|
||||
msgid "Data that has not been migrated will be kept in the old data files."
|
||||
msgstr "Data that has not been migrated will be kept in the old data files."
|
||||
|
||||
#. The name of a map item given to a player, if splatter maps are not used. 0 = map name; 1 = index.
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:139
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:215
|
||||
#, java-format
|
||||
msgid "{0} (part {1})"
|
||||
msgstr "{0} (part {1})"
|
||||
|
||||
#. The name of a map item given to a player, if splatter maps are not used. 0 = map name; 1 = row; 2 = column.
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:145
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:213
|
||||
#, java-format
|
||||
msgid "{0} (row {1}, column {2})"
|
||||
msgstr "{0} (row {1}, column {2})"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/SplatterMapManager.java:44
|
||||
msgid "Splatter Map"
|
||||
msgstr "Splatter Map"
|
||||
|
||||
#. Title in a splatter map tooltip
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/SplatterMapManager.java:48
|
||||
msgid "Item frames needed"
|
||||
msgstr "Item frames needed"
|
||||
|
||||
#. Size of a map stored in a splatter map
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/SplatterMapManager.java:50
|
||||
#, java-format
|
||||
msgid "{0} × {1}"
|
||||
msgstr "{0} × {1}"
|
||||
|
||||
#. Title in a splatter map tooltip
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/SplatterMapManager.java:53
|
||||
msgid "How to use this?"
|
||||
msgstr "How to use this?"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/SplatterMapManager.java:54
|
||||
msgid ""
|
||||
"Place empty item frames on a wall, enough to host the whole map. Then, right-"
|
||||
"click on the bottom-left frame with this map."
|
||||
msgstr ""
|
||||
"Place empty item frames on a wall, enough to host the whole map. Then, right-"
|
||||
"click on the bottom-left frame with this map."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/SplatterMapManager.java:56
|
||||
msgid ""
|
||||
"Shift-click one of the placed maps to remove the whole poster in one shot."
|
||||
msgstr ""
|
||||
"Shift-click one of the placed maps to remove the whole poster in one shot."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/SplatterMapManager.java:101
|
||||
msgid "{ce}There is not enough space to place this map ({0} × {1})."
|
||||
msgstr "{ce}There is not enough space to place this map ({0} × {1})."
|
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-05-21 20:34+0200\n"
|
||||
"PO-Revision-Date: 2016-05-21 20:38+0100\n"
|
||||
"POT-Creation-Date: 2016-07-10 00:59+0200\n"
|
||||
"PO-Revision-Date: 2016-07-19 16:15+0200\n"
|
||||
"Last-Translator: Amaury Carrade\n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr_FR\n"
|
||||
@ -16,11 +16,11 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.7.5\n"
|
||||
"X-Generator: Poedit 1.8.8\n"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/IoMCommand.java:40
|
||||
msgid "You need to give a map name."
|
||||
msgstr "Vous devez donner un nom à la carte."
|
||||
msgstr "Vous devez donner le nom d'une carte."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/IoMCommand.java:57
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteNoConfirmCommand.java:51
|
||||
@ -33,7 +33,7 @@ msgstr "Vous êtes sur le point de supprimer"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteConfirmCommand.java:42
|
||||
msgid "Are you sure ? "
|
||||
msgstr "Êtes-vous sûr ?"
|
||||
msgstr "Êtes-vous sûr(e) ?"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/DeleteConfirmCommand.java:44
|
||||
msgid "[Confirm]"
|
||||
@ -50,7 +50,7 @@ msgstr "Carte supprimée avec succès."
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/GetCommand.java:38
|
||||
msgid "The requested map was too big to fit in your inventory."
|
||||
msgstr ""
|
||||
"La carte demandée est trop grosse et ne rentre pas dans votre inventaire."
|
||||
"La carte demandée est trop grande et ne rentre pas dans votre inventaire."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/GetCommand.java:39
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/NewCommand.java:71
|
||||
@ -77,13 +77,13 @@ msgstr[1] "Il y a {0} cartes restantes."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/ListCommand.java:49
|
||||
msgid "No map found."
|
||||
msgstr "Aucune carte."
|
||||
msgstr "Aucune carte trouvée."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/ListCommand.java:53
|
||||
msgid "{white}{bold}{0} map found."
|
||||
msgid_plural "{white}{bold}{0} maps found."
|
||||
msgstr[0] "{white}{bold}{0} carte."
|
||||
msgstr[1] "{white}{bold}{0} cartes."
|
||||
msgstr[0] "{white}{bold}{0} carte trouvée."
|
||||
msgstr[1] "{white}{bold}{0} cartes trouvées."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/commands/maptool/ListCommand.java:79
|
||||
msgid "{white}Click{gray} to get this map"
|
||||
@ -127,7 +127,7 @@ msgstr "{ce}Impossible de faire le rendu de la carte : {0}"
|
||||
#. The title of the map deletion GUI. {0}: map name.
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:102
|
||||
msgid "{0} » {black}Confirm deletion"
|
||||
msgstr "{0} » {black}Confirmation de suppression"
|
||||
msgstr "{0} » {black}Confirmez la suppression"
|
||||
|
||||
#. The title of the map deletion item
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/ConfirmDeleteMapGui.java:110
|
||||
@ -155,32 +155,38 @@ msgstr "{gray}Cartes : {white}{0}"
|
||||
msgid "{gray}Map successfully deleted."
|
||||
msgstr "{gray}Carte supprimée avec succès."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:53
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:54
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:71
|
||||
msgid "{green}Map part"
|
||||
msgstr "{green}Extrait de carte"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:54
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:55
|
||||
msgid "{gray}Column: {white}{0}"
|
||||
msgstr "{gray}Colonne : {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:55
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:56
|
||||
msgid "{gray}Row: {white}{0}"
|
||||
msgstr "{gray}Ligne : {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:57
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:58
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:74
|
||||
msgid "{gray}» {white}Click{gray} to get only this part"
|
||||
msgstr "{gray}» {white}Cliquez{gray} pour récupérer cette partie"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:72
|
||||
msgid "{gray}Part: {white}{0}"
|
||||
msgstr "{gray}Partie : {white}{0}"
|
||||
|
||||
#. Title of the map details GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:90
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:114
|
||||
msgid "Your maps » {black}{0}"
|
||||
msgstr "Vos cartes » {black}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:100
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:136
|
||||
msgid "{blue}Rename this image"
|
||||
msgstr "{blue}Renommer cette image"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:101
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:137
|
||||
msgid ""
|
||||
"{gray}Click here to rename this image; this is used for your own "
|
||||
"organization."
|
||||
@ -199,59 +205,56 @@ msgstr ""
|
||||
"{gray}Supprime cette carte {white}pour toujours{gray}. Cette action ne peut "
|
||||
"être annulée !"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:108
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:144
|
||||
msgid "{gray}You will be asked to confirm your choice if you click here."
|
||||
msgstr "{gray}Une confirmation sera demandée si vous cliquez ici."
|
||||
msgstr "{gray}Une confirmation vous sera demandée si vous cliquez ici."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:120
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:156
|
||||
msgid "{green}« Back"
|
||||
msgstr "{green}« Retour"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:121
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:157
|
||||
msgid "{gray}Go back to the list."
|
||||
msgstr "{gray}Retourner à la liste."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:136
|
||||
msgid "{ce}Map names can't be empty."
|
||||
msgstr "{ce}Les noms de cartes ne peuvent être vide."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapDetailGui.java:141
|
||||
msgid "{cs}Map successfully renamed."
|
||||
msgstr "{cs}Carte renommée avec succès."
|
||||
|
||||
#. Displayed subtitle description of a single map on the list GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:43
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:44
|
||||
msgid "{white}Single map"
|
||||
msgstr "{white}Carte unique"
|
||||
|
||||
#. Displayed subtitle description of a poster map on the list GUI (columns × rows in english)
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:46
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:52
|
||||
msgid "{white}Poster map ({0} × {1})"
|
||||
msgstr "{white}Poster ({0} × {1})"
|
||||
|
||||
#. Displayed subtitle description of a poster map without column data on the list GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:57
|
||||
msgid "{white}Poster map ({0} parts)"
|
||||
msgstr "{white}Poster ({0} parties)"
|
||||
|
||||
#. Displayed title of a map on the list GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:50
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:62
|
||||
msgid "{green}{bold}{0}"
|
||||
msgstr "{green}{bold}{0}"
|
||||
|
||||
#. Map ID displayed in the tooltip of a map on the list GUI
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:55
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:67
|
||||
msgid "{gray}Map ID: {0}"
|
||||
msgstr "{gray}Identifiant : {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:57
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:69
|
||||
msgid "{gray}» {white}Left-click{gray} to get this map"
|
||||
msgstr "{gray}» {white}Cliquez droit{gray} pour récupérer cette carte"
|
||||
msgstr "{gray}» {white}Cliquez gauche{gray} pour récupérer cette carte"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:58
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:70
|
||||
msgid "{gray}» {white}Right-click{gray} for details and options"
|
||||
msgstr "{gray}» {white}Cliquez droit{gray} pour détails et options"
|
||||
msgstr "{gray}» {white}Cliquez droit{gray} pour des détails et options"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:67
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:79
|
||||
msgid "{red}You don't have any map."
|
||||
msgstr "{red}Vous n'avez aucune carte."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:68
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:80
|
||||
msgid ""
|
||||
"{gray}Get started by creating a new one using {white}/tomap <URL> [resize]"
|
||||
"{gray}!"
|
||||
@ -260,51 +263,51 @@ msgstr ""
|
||||
"{gray} !"
|
||||
|
||||
#. The maps list GUI title
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:100
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:119
|
||||
msgid "{black}Your maps {reset}({0})"
|
||||
msgstr "{black}Vos cartes {reset}({0})"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:129
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:148
|
||||
msgid "{blue}Usage statistics"
|
||||
msgstr "{blue}Statistiques d'utilisation"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:131
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:150
|
||||
msgid "{white}{0}{gray} image rendered"
|
||||
msgid_plural "{white}{0}{gray} images rendered"
|
||||
msgstr[0] "{white}{0}{gray} image rendue"
|
||||
msgstr[1] "{white}{0}{gray} images rendues"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:132
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:151
|
||||
msgid "{white}{0}{gray} Minecraft map used"
|
||||
msgid_plural "{white}{0}{gray} Minecraft maps used"
|
||||
msgstr[0] "{white}{0}{gray} carte Minecraft utilisée"
|
||||
msgstr[1] "{white}{0}{gray} cartes Minecraft utilisées"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:137
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:156
|
||||
msgid "{blue}Minecraft maps limits"
|
||||
msgstr "{blue}Limites de cartes Minecraft"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:139
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:158
|
||||
msgid "{gray}Server-wide limit: {white}unlimited"
|
||||
msgstr "{gray}Limite du serveur : {white}illimité"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:140
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:159
|
||||
msgid "{gray}Server-wide limit: {white}{0}"
|
||||
msgstr "{gray}Limite du serveur : {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:142
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:161
|
||||
msgid "{gray}Per-player limit: {white}unlimited"
|
||||
msgstr "{gray}Limite individuelle : {white}illimité"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:143
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:162
|
||||
msgid "{gray}Per-player limit: {white}{0}"
|
||||
msgstr "{gray}Limite individuelle : {white}{0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:145
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:164
|
||||
msgid "{white}{0} %{gray} of your quota used"
|
||||
msgstr "{white}{0} %{gray} de votre quota utilisé"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:146
|
||||
#: src/main/java/fr/moribus/imageonmap/gui/MapListGui.java:165
|
||||
msgid "{white}{0}{gray} map left"
|
||||
msgid_plural "{white}{0}{gray} maps left"
|
||||
msgstr[0] "{white}{0}{gray} carte restante"
|
||||
@ -350,66 +353,66 @@ msgid ""
|
||||
"Migration thread has been interrupted while waiting to finish. It may not "
|
||||
"have ended correctly."
|
||||
msgstr ""
|
||||
"Le thread a été interrompu durant l'attente de la fin de la migration. Cette "
|
||||
"dernière pourrait s'être achevée anormalement."
|
||||
"Le fil d'exécution (thread) a été interrompu durant l'attente de la fin de "
|
||||
"la migration. Cette dernière pourrait ne pas s'être terminée correctement."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:173
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:176
|
||||
msgid "Error while preparing migration"
|
||||
msgstr "Une erreur est survenue lors de la préparation de la migration."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:174
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:177
|
||||
msgid "Aborting migration. No change has been made."
|
||||
msgstr "La migration est annulée. Aucun changement n'a été effectué."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:186
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:189
|
||||
msgid "Error while migrating"
|
||||
msgstr "Erreur lors de la migration"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:187
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:190
|
||||
msgid "Aborting migration. Some changes may already have been made."
|
||||
msgstr ""
|
||||
"La migration est annulée. Certains changements ont pu être effectués malgré "
|
||||
"tout."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:188
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:191
|
||||
msgid ""
|
||||
"Before trying to migrate again, you must recover player files from the "
|
||||
"backups, and then move the backups away from the plugin directory to avoid "
|
||||
"overwriting them."
|
||||
msgstr ""
|
||||
"Avant de re-tenter la migration, vous devez récupérer les fichiers des "
|
||||
"joueurs depuis la sauvegarde qu'a été effectuée automatiquement, puis "
|
||||
"joueurs depuis la sauvegarde qui a été effectuée automatiquement, puis "
|
||||
"déplacer les sauvegardes hors du dossier du plugin afin d'éviter de les "
|
||||
"écraser."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:200
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:203
|
||||
msgid "Looking for configuration files to migrate..."
|
||||
msgstr "Recherche de fichiers de configuration à migrer..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:203
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:206
|
||||
#, java-format
|
||||
msgid "Detected former posters file {0}"
|
||||
msgstr "Vieux fichier de posters détecté : {0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:206
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:209
|
||||
#, java-format
|
||||
msgid "Detected former maps file {0}"
|
||||
msgstr "Vieux fichier de carte détecté : {0}"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:210
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:409
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:213
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:416
|
||||
msgid "There is nothing to migrate. Stopping."
|
||||
msgstr "Il n'y a rien à migrer. Le processus est arrêté."
|
||||
msgstr "Il n'y a rien à migrer. Arrêt."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:215
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:218
|
||||
msgid "Done."
|
||||
msgstr "Terminé."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:229
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:232
|
||||
msgid "Backup directories already exists."
|
||||
msgstr "Les répertoires de sauvegarde existe déjà."
|
||||
msgstr "Les répertoires de sauvegarde existent déjà."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:230
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:233
|
||||
msgid ""
|
||||
"This means that a migration has already been done, or may not have ended "
|
||||
"well."
|
||||
@ -417,7 +420,7 @@ msgstr ""
|
||||
"Cela signifie qu'une migration a déjà été faite, ou qu'elle n'a possiblement "
|
||||
"pas terminé correctement."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:231
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:234
|
||||
msgid ""
|
||||
"To start a new migration, you must move away the backup directories so they "
|
||||
"are not overwritten."
|
||||
@ -425,36 +428,44 @@ msgstr ""
|
||||
"Pour démarrer une nouvelle migration, vous devez déplacer les répertoires de "
|
||||
"sauvegarde afin qu'ils ne soit pas écrasés."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:345
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:247
|
||||
msgid "Backing up map data before migrating..."
|
||||
msgstr "Sauvegarde des données des cartes avant la migration…"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:271
|
||||
msgid "Backup complete."
|
||||
msgstr "Sauvegarde terminée."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:352
|
||||
msgid "Fetching UUIDs from Mojang..."
|
||||
msgstr "Récupération des UUID depuis Mojang..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:352
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:380
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:359
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:387
|
||||
msgid "An error occurred while fetching the UUIDs from Mojang"
|
||||
msgstr ""
|
||||
"Une erreur est survenue lors de la récupération des UUIDs depuis Mojang."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:357
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:385
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:364
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:392
|
||||
msgid "The migration worker has been interrupted"
|
||||
msgstr "Le processus de migration a été interrompu."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:360
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:367
|
||||
#, java-format
|
||||
msgid "Fetching done. {0} UUID have been retrieved."
|
||||
msgid_plural "Fetching done. {0} UUIDs have been retrieved."
|
||||
msgstr[0] "Récupération achevée. {0} UUID a été retrouvé."
|
||||
msgstr[1] "Récupération achevée. {0} UUID ont été retrouvé."
|
||||
msgstr[1] "Récupération achevée. {0} UUIDs ont été retrouvés."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:371
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:378
|
||||
#, java-format
|
||||
msgid "Mojang did not find UUIDs for {0} player at the current time."
|
||||
msgid_plural "Mojang did not find UUIDs for {0} players at the current time."
|
||||
msgstr[0] "Mojang n'a pas trouvé d'UUID pour {0} joueur à l'heure actuelle."
|
||||
msgstr[1] "Mojang n'a pas trouvé d'UUID pour {0} joueurs à l'heure actuelle."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:372
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:379
|
||||
msgid ""
|
||||
"The Mojang servers limit requests rate at one per second, this may take some "
|
||||
"time..."
|
||||
@ -462,65 +473,94 @@ msgstr ""
|
||||
"Les serveurs de Mojang limitent les requêtes à une par seconde, cette étape "
|
||||
"risque de durer un petit moment..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:391
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:398
|
||||
#, java-format
|
||||
msgid "Mojang did not find player data for {0} player"
|
||||
msgid_plural "Mojang did not find player data for {0} players"
|
||||
msgstr[0] "Mojang n'a pas trouvé de données pour {0} joueur."
|
||||
msgstr[1] "Mojang n'a pas trouvé de données pour {0} joueurs."
|
||||
msgstr[0] "Mojang did not find player data for {0} player"
|
||||
msgstr[1] "Mojang did not find player data for {0} players"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:393
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:400
|
||||
msgid "The following players do not exist or do not have paid accounts :"
|
||||
msgstr "Les joueurs suivant n'existent pas ou n'ont pas de compte payant :"
|
||||
msgstr "Les joueurs suivants n'existent pas ou n'ont pas de compte payant :"
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:408
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:415
|
||||
msgid "Mojang could not find any of the registered players."
|
||||
msgstr "Mojang n'a pu trouver aucun des joueurs enregistrés."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:418
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:425
|
||||
msgid "Merging map data..."
|
||||
msgstr "Fusion des données des cartes..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:459
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:475
|
||||
#, java-format
|
||||
msgid "{0} registered minecraft map is missing from the save."
|
||||
msgid_plural "{0} registered minecraft maps are missing from the save."
|
||||
msgstr[0] ""
|
||||
"{0} carte Minecraft enregistrée n'a pas été retrouvée dans la sauvegarde."
|
||||
msgstr[1] ""
|
||||
"{0} cartes Minecraft enregistrées n'ont pas été retrouvées dans la "
|
||||
"sauvegarde."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:476
|
||||
msgid ""
|
||||
"These maps will not be migrated, but this could mean the save has been "
|
||||
"altered or corrupted."
|
||||
msgstr ""
|
||||
"Ces cartes ne seront pas migrées, mais cela peut signifier que votre "
|
||||
"sauvegarde a été modifiée ou corrompue."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:477
|
||||
#, java-format
|
||||
msgid "The following maps are missing : {0} "
|
||||
msgstr "Les cartes suivantes sont manquantes : {0} "
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:483
|
||||
msgid "Saving changes..."
|
||||
msgstr "Sauvegarde des changements..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:465
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:489
|
||||
msgid "Cleaning up old data files..."
|
||||
msgstr "Nettoyage des vieux fichiers de données..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:472
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:496
|
||||
msgid "Deleting old map data file..."
|
||||
msgstr "Suppression du vieux fichier de données des cartes..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:477
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:501
|
||||
#, java-format
|
||||
msgid "{0} map could not be migrated."
|
||||
msgid_plural "{0} maps could not be migrated."
|
||||
msgstr[0] "{0} carte n'a pas pu être migrée."
|
||||
msgstr[1] "{0} cartes n'ont pas pu être migrées."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:495
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:519
|
||||
msgid "Deleting old poster data file..."
|
||||
msgstr "Suppression du vieux fichier de données des posters..."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:500
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:524
|
||||
#, java-format
|
||||
msgid "{0} poster could not be migrated."
|
||||
msgid_plural "{0} posters could not be migrated."
|
||||
msgstr[0] "{0} poster n'a pas pu être migré."
|
||||
msgstr[1] "{0} posters n'ont pas pu être migrés."
|
||||
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:513
|
||||
#: src/main/java/fr/moribus/imageonmap/migration/V3Migrator.java:537
|
||||
msgid "Data that has not been migrated will be kept in the old data files."
|
||||
msgstr ""
|
||||
"Les données qui n'ont pas été migrées seront conservées dans les vieux "
|
||||
"fichiers de donnée."
|
||||
"fichiers de données."
|
||||
|
||||
#. The name of a map item given to a player, if splatter maps are not used. 0 = map name; 1 = index.
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:139
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:215
|
||||
#, java-format
|
||||
msgid "{0} (part {1})"
|
||||
msgstr "{0} (partie {1})"
|
||||
|
||||
#. The name of a map item given to a player, if splatter maps are not used. 0 = map name; 1 = row; 2 = column.
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:118
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:153
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:194
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:145
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/MapItemManager.java:213
|
||||
#, java-format
|
||||
msgid "{0} (row {1}, column {2})"
|
||||
msgstr "{0} (ligne {1}, colonne {2})"
|
||||
@ -562,3 +602,9 @@ msgstr "Cliquez accroupi l'une des cartes du poster pour le retirer d'un coup."
|
||||
#: src/main/java/fr/moribus/imageonmap/ui/SplatterMapManager.java:101
|
||||
msgid "{ce}There is not enough space to place this map ({0} × {1})."
|
||||
msgstr "{ce}Il n'y a pas assez d'espace pour accueillir ce poster ({0} × {1})."
|
||||
|
||||
#~ msgid "{ce}Map names can't be empty."
|
||||
#~ msgstr "{ce}Les noms de cartes ne peuvent être vide."
|
||||
|
||||
#~ msgid "{cs}Map successfully renamed."
|
||||
#~ msgstr "{cs}Carte renommée avec succès."
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: ImageOnMap
|
||||
main: fr.moribus.imageonmap.ImageOnMap
|
||||
version: 2.99
|
||||
version: 3.0
|
||||
|
||||
commands:
|
||||
tomap:
|
||||
|
Loading…
Reference in New Issue
Block a user