Index: /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaCopyTemplate.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaCopyTemplate.java	(revision 29334)
+++ /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaCopyTemplate.java	(revision 29335)
@@ -10,4 +10,6 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.data.Preferences;
+import org.openstreetmap.josm.data.Preferences.pref;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -17,18 +19,43 @@
 public class WikipediaCopyTemplate {
 
-    private static final List<CoordCopyTemplate> TEMPLATES = Arrays.asList(
-            new CoordCopyTemplate(tr("Copy {0} template", "{{Coordinate}}"), "wikipedia-coordinate", "{{Coordinate|NS={lat}|EW={lon}|type=landmark|region=}}"),
-            new CoordCopyTemplate(tr("Copy {0} template", "{{Coord}}"), "wikipedia-coord", "{{Coord|{lat}|{lon}}}"),
-            new CoordCopyTemplate(tr("Copy {0} template", "{{Location dec}}"), "wikipedia-location-dec", "{{Location dec|{lat}|{lon}}}"),
-            new CoordCopyTemplate(tr("Copy {0} template", "{{Object location dec}}"), "wikipedia-object-location-dec", "{{Object location dec|{lat}|{lon}}}")
-            );
+    private static final List<CoordCopyTemplateEntry> DEFAULT_TEMPLATES = Arrays.asList(
+            new CoordCopyTemplateEntry("{{Coordinate}}", "wikipedia-coordinate", "{{Coordinate|NS={lat}|EW={lon}|type=landmark|region=}}"),
+            new CoordCopyTemplateEntry("{{Coord}}", "wikipedia-coord", "{{Coord|{lat}|{lon}}}"),
+            new CoordCopyTemplateEntry("{{Location dec}}", "wikipedia-location-dec", "{{Location dec|{lat}|{lon}}}"),
+            new CoordCopyTemplateEntry("{{Object location dec}}", "wikipedia-object-location-dec", "{{Object location dec|{lat}|{lon}}}")
+    );
+
+    private static final List<CoordCopyTemplateEntry> TEMPLATE_ENTRIES =
+            Main.pref.getListOfStructs("wikipedia.copytemplates", DEFAULT_TEMPLATES, CoordCopyTemplateEntry.class);
 
     public WikipediaCopyTemplate() {
         JosmAction previous = Main.main.menu.copyCoordinates;
-        for (final CoordCopyTemplate t : TEMPLATES) {
+        for (final CoordCopyTemplateEntry templateEntry : TEMPLATE_ENTRIES) {
+            CoordCopyTemplate t = new CoordCopyTemplate(templateEntry);
             final JMenuItem menu = MainMenu.addAfter(Main.main.menu.editMenu, t, false, previous);
-            menu.setToolTipText(tr("Copies the template to the system clipboard instantiated with the coordinates of the first selected node"));
+            menu.setToolTipText(tr("Copies the {0} template to the system clipboard instantiated with the coordinates of the first selected node", templateEntry.name));
             previous = t;
-            //MainMenu.addAfter(Main.main.menu.editMenu, coord, false, Main.main.menu.copyCoordinates);
+        }
+    }
+
+    /**
+     * Class to hold copy templates for serialization using {@link Preferences}.
+     * Public visibility is needed for reflection used in {@link Preferences#getListOfStructs}.
+     */
+    public static class CoordCopyTemplateEntry {
+        @pref
+        public String name;
+        @pref
+        public String id;
+        @pref
+        public String pattern;
+
+        public CoordCopyTemplateEntry() {
+        }
+
+        public CoordCopyTemplateEntry(String name, String id, String pattern) {
+            this.name = name;
+            this.id = id;
+            this.pattern = pattern;
         }
     }
@@ -37,4 +64,8 @@
 
         protected final String pattern;
+
+        public CoordCopyTemplate(final CoordCopyTemplateEntry entry) {
+            this(tr("Copy {0} template", entry.name), entry.id, entry.pattern);
+        }
 
         public CoordCopyTemplate(String name, String toolbarId, String pattern) {
