Index: trunk/.classpath
===================================================================
--- trunk/.classpath	(revision 7837)
+++ trunk/.classpath	(revision 7838)
@@ -5,5 +5,5 @@
 	<classpathentry kind="src" path="test/functional"/>
 	<classpathentry kind="src" path="test/performance"/>
-	<classpathentry excluding="build/|data_nodist/|dist/|linux/|macosx/|nb/|src/|test/|test/build/|test/functional/|test/performance/|test/unit/|tools/|utils/" kind="src" path=""/>
+	<classpathentry excluding="build/|data_nodist/|dist/|linux/|macosx/|nb/|src/|test/|test/build/|test/functional/|test/performance/|test/unit/|tools/|utils/|windows/" kind="src" path=""/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
 	<classpathentry kind="lib" path="test/lib/fest/fest-assert-1.0.jar"/>
Index: trunk/windows/README.txt
===================================================================
--- trunk/windows/README.txt	(revision 7838)
+++ trunk/windows/README.txt	(revision 7838)
@@ -0,0 +1,66 @@
+This is the Win32 installer generator for JOSM, to create a Windows 
+like installer. This should ease installation and provides a reasonable set of 
+default preferences for Windows users.
+
+Currently only josm and a small assortment of josm plugins is included in the 
+installer.
+
+As other osm related applications like osmarender and mapnik have a lot more
+UNIX related dependencies that will make them complicated to install, only JOSM
+is currently installed "the easy way".
+
+
+install
+-------
+simply execute josm-setup-latest.exe
+
+uninstall
+---------
+use "control panel / software" to uninstall
+
+
+current state of the art
+------------------------
+The installer will currently add:
+- josm into "C:\Program Files\JOSM" (or the corresponding international dir)
+- josm icons to the desktop and quick launch bar
+- josm file associations to .osm and .gpx files
+- some assorted plugins (more to follow?)
+- default preferences to the current user profile (if not already existing)
+
+When the installed josm.exe is executed, it should ask the user to download 
+Java runtime if it's not already installed.
+
+build the installer
+-------------------
+1.) You will need to download and install the following on your machine:
+- cygwin bash and wget
+- launch4j - http://launch4j.sourceforge.net/ (currently 3.5, older 2.x will NOT work!)
+- NSIS - http://nsis.sourceforge.net/ (any recent version should do)
+
+2.) Edit the two absolute paths in the file josm-setup-unix.sh (in the calls 
+to launch4jc and makensis)
+
+3.) Start a cygwin shell and call ./josm-setup-unix.sh
+
+how the installer is build
+--------------------------
+First, wget will download the required files (e.g. the josm plugins) into the 
+downloads subdir. Then jaunch4j wraps the josm.jar into a josm.exe, which 
+makes registration of file extensions a lot easier. Then NSIS is called to 
+create the actual josm-setup-latest.exe.
+
+known issues
+------------
+- absolute paths in josm-setup-unix.sh
+- josm should support "global settings" instead of only the personal profile
+- install all josm plugins by default and only enable them according to user wishes?
+
+build the installer under Linux / Debian
+----------------------------------------
+It's possible to build the installer under Linux. Beside the things mentioned above, 
+the NSIS Debian package currently has an incomplete System.dll (in the plugins directory).
+This dll needs to be replaced by the System.dll included in the NSIS zip package, e.g. from
+http://nsis.sourceforge.net/Development_Files.
+More details can be found in the following NSIS forum thread:
+http://forums.winamp.com/showthread.php?s=bb7fa5bf8173e31c05e083340ca2c242&postid=2211132 
Index: trunk/windows/josm-setup-unix.sh
===================================================================
--- trunk/windows/josm-setup-unix.sh	(revision 7838)
+++ trunk/windows/josm-setup-unix.sh	(revision 7838)
@@ -0,0 +1,141 @@
+#!/bin/bash
+
+# Creates an josm-setup-xy.exe File
+#
+# for working on a debian-unix system install the nsis package with
+# apt-get install nsis
+# replace the  /usr/share/nsis/Plugins/System.dll with the Version from the nsis .zip File
+# The one coming with the debian package is missing the Call:: Function
+# See also /usr/share/doc/nsis/README.Debian 
+#
+# Then download launch4j from http://launch4j.sourceforge.net/ 
+# wget http://softlayer-ams.dl.sourceforge.net/project/launch4j/launch4j-3/3.4/launch4j-3.4-linux.tgz
+# and unpack it to /usr/share/launch4j
+
+## settings ##
+
+# trying to find launch4j
+if [ -s "/cygdrive/c/Program Files (x86)/Launch4j/launch4jc.exe" ]; then
+    # Windows under cygwin or MobaXterm
+    LAUNCH4J="/cygdrive/c/Program Files (x86)/Launch4j/launch4jc.exe"
+elif [ -s /usr/share/launch4j/launch4j.jar ]; then
+    # as described above
+    LAUNCH4J="java -jar /usr/share/launch4j/launch4j.jar"
+elif [ -s ../launch4j/launch4j.jar ]; then
+    LAUNCH4J="java -jar ../launch4j/launch4j.jar"
+elif [ -s $HOME/launch4j/launch4j.jar ]; then
+    LAUNCH4J="java -jar $HOME/launch4j/launch4j.jar"
+else
+    # launch4j installed locally under this nsis folder
+    LAUNCH4J="java -jar ./launch4j/launch4j.jar"
+fi
+echo Using launch4j: $LAUNCH4J
+
+# trying to find makensis
+if [ -s "/cygdrive/c/Program Files (x86)/NSIS/makensis.exe" ]; then
+    # Windows under cygwin or MobaXterm
+    MAKENSIS="/cygdrive/c/Program Files (x86)/NSIS/makensis.exe"
+else
+    # UNIX like
+    MAKENSIS=/usr/bin/makensis
+fi
+echo Using NSIS: $MAKENSIS
+
+if [ -n "$1" ]; then
+  export VERSION=$1
+  export JOSM_BUILD="no"
+  export WEBKIT_DOWNLAD="no"
+  export JOSM_FILE="/home/josm/www/download/josm-tested.jar"
+else
+  svncorerevision=`svnversion -n ../core`
+  #svnpluginsrevision=`svnversion -n ../plugins`
+  #svnrevision="$svncorerevision-$svnpluginsrevision"
+
+  #export VERSION=custom-${svnrevision}
+  export VERSION=`echo ${svncorerevision} | sed -e 's/M//g' -e 's/S//g' -e 's/P//g'`
+  export JOSM_BUILD="yes"
+  export WEBKIT_DOWNLOAD="yes"
+  export JOSM_FILE="..\core\dist\josm-custom.jar"
+fi
+
+echo "Creating Windows Installer for josm-$VERSION"
+
+echo 
+echo "##################################################################"
+echo "### Download and unzip the webkit stuff"
+if [ "x$WEBKIT_DOWNLOAD" == "xyes" ]; then
+    wget --continue --timestamping http://josm.openstreetmap.de/download/windows/webkit-image.zip
+else
+    if ! [ -f webkit-image.zip ]; then
+      ln -s /home/josm/www/download/windows/webkit-image.zip .
+    fi
+fi
+#mkdir -p webkit-image
+#cd webkit-image
+unzip -o webkit-image.zip
+#cd ..
+
+echo 
+echo "##################################################################"
+echo "### Build the Complete josm + Plugin Stuff"
+if [ "x$JOSM_BUILD" == "xyes" ]; then
+    (
+	echo "Build the Complete josm Stuff"
+	
+	echo "Compile Josm"
+	cd ../core
+	ant -q clean
+	ant -q compile || exit -1
+	cd ..
+	
+	echo "Compile Josm Plugins"
+	cd plugins
+	ant -q clean
+	ant -q dist || exit -1
+	) || exit -1
+fi
+
+/bin/cp $JOSM_FILE josm-tested.jar
+
+function build_exe {
+
+	export TARGET=$1	# josm / josm64. Used in file name of launcher and installer
+	
+	/bin/rm -f "launch4j_${TARGET}.xml"
+	/bin/sed -e "s/%TARGET%/$1/" -e "s/%RTBITS%/$2/" -e "s/%INIHEAP%/$3/" -e "s/%MAXHEAP%/$4/" -e "s/%VERSION%/$VERSION/" "launch4j.xml" > "launch4j_${TARGET}.xml"
+	
+	echo 
+	echo "##################################################################"
+	echo "### convert jar to ${TARGET}.exe with launch4j"
+	# (an exe file makes attaching to file extensions a lot easier)
+	# launch4j - http://launch4j.sourceforge.net/
+	# delete old exe file first
+	/bin/rm -f ${TARGET}.exe
+	$LAUNCH4J "launch4j_${TARGET}.xml"
+	# comment previous line and uncomment next one on Windows
+	#"$LAUNCH4J" "launch4j_${TARGET}.xml"
+
+	if ! [ -s ${TARGET}.exe ]; then
+		echo "NO ${TARGET}.exe File Created"
+		exit -1
+	fi
+
+	/bin/rm -f "launch4j_${TARGET}.xml"
+
+	echo 
+	echo "##################################################################"
+	echo "### create the ${TARGET}-installer-${VERSION}.exe with makensis"
+	# NSIS - http://nsis.sourceforge.net/Main_Page
+	# apt-get install nsis
+	"$MAKENSIS" -V2 -DVERSION=$VERSION -DDEST=$TARGET josm.nsi
+
+	# keep the intermediate file, for debugging
+	/bin/rm -f ${TARGET}-intermediate.exe 2>/dev/null >/dev/null
+	/bin/mv ${TARGET}.exe ${TARGET}-intermediate.exe 2>/dev/null >/dev/null
+}
+
+build_exe "josm" "64\/32" 128 1024
+# 64-bit binary generation commented until possible with launch4j / nsis
+# build_exe "josm64"  "64" 256 2048
+
+/bin/rm -f josm-tested.jar 2>/dev/null >/dev/null
Index: trunk/windows/josm.nsi
===================================================================
--- trunk/windows/josm.nsi	(revision 7838)
+++ trunk/windows/josm.nsi	(revision 7838)
@@ -0,0 +1,473 @@
+;
+; josm.nsi
+;
+
+; Set the compression mechanism first.
+SetCompressor /SOLID lzma
+
+; Load StdUtils plugin (ANSI until we switch to Unicode installer with NSIS 3)
+!addplugindir plugins/stdutils/Plugins/Release_ANSI
+!addincludedir plugins/stdutils/Include
+
+!include "StdUtils.nsh"
+
+; make sure the installer will get elevated rights on UAC-enabled system (Vista+)
+RequestExecutionLevel admin
+
+; Used to refresh the display of file association
+!define SHCNE_ASSOCCHANGED 0x08000000
+!define SHCNF_IDLIST 0
+
+; Used to add associations between file extensions and JOSM
+!define OSM_ASSOC "josm-file"
+
+; ============================================================================
+; Header configuration
+; ============================================================================
+; The name of the installer
+Name "JOSM ${VERSION}"
+
+; The file to write
+OutFile "${DEST}-setup-${VERSION}.exe"
+
+XPStyle on
+
+Var /GLOBAL plugins
+
+; ============================================================================
+; Modern UI
+; ============================================================================
+
+!include "MUI2.nsh"
+
+; Icon of installer and uninstaller
+!define MUI_ICON "logo.ico"
+!define MUI_UNICON "logo.ico"
+
+!define MUI_COMPONENTSPAGE_SMALLDESC
+!define MUI_FINISHPAGE_NOAUTOCLOSE
+!define MUI_UNFINISHPAGE_NOAUTOCLOSE
+!define MUI_WELCOMEFINISHPAGE_BITMAP "josm-nsis-brand.bmp"
+!define MUI_WELCOMEPAGE_TEXT $(JOSM_WELCOME_TEXT) 
+
+!define MUI_FINISHPAGE_RUN
+!define MUI_FINISHPAGE_RUN_FUNCTION LaunchJOSM
+
+; Function used to Launch JOSM in user (non-elevated) mode
+Function LaunchJOSM
+  ${StdUtils.ExecShellAsUser} $0 "$INSTDIR\${DEST}.exe" "open" ""
+FunctionEnd
+
+; ============================================================================
+; MUI Pages
+; ============================================================================
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "..\core\LICENSE"
+!insertmacro MUI_PAGE_COMPONENTS
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_COMPONENTS
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+
+; ============================================================================
+; MUI Languages
+; ============================================================================
+
+  ;Remember the installer language
+  !define MUI_LANGDLL_REGISTRY_ROOT "HKLM" 
+  !define MUI_LANGDLL_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" 
+  !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+  
+  ;; English goes first because its the default. The rest are
+  ;; in alphabetical order (at least the strings actually displayed
+  ;; will be).
+
+  !insertmacro MUI_LANGUAGE "English"
+  !insertmacro MUI_LANGUAGE "French"
+  !insertmacro MUI_LANGUAGE "German"
+
+;--------------------------------
+;Translations
+
+  !define JOSM_DEFAULT_LANGFILE "locale\english.nsh"
+
+  !include "langmacros.nsh"
+  
+  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "ENGLISH" "locale\english.nsh"
+  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "FRENCH" "locale\french.nsh"
+  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "GERMAN" "locale\german.nsh"
+
+; Uninstall stuff
+!define MUI_UNCONFIRMPAGE_TEXT_TOP ${un.JOSM_UNCONFIRMPAGE_TEXT_TOP}
+
+; ============================================================================
+; Installation types
+; ============================================================================
+
+InstType "$(JOSM_FULL_INSTALL)"
+
+InstType "un.$(un.JOSM_DEFAULT_UNINSTALL)"
+InstType "un.$(un.JOSM_FULL_UNINSTALL)"
+
+; ============================================================================
+; Section macros
+; ============================================================================
+!include "Sections.nsh"
+
+; ========= Macro to unselect and disable a section =========
+
+!macro DisableSection SECTION
+
+  Push $0
+    SectionGetFlags "${SECTION}" $0
+    IntOp $0 $0 & ${SECTION_OFF}
+    IntOp $0 $0 | ${SF_RO}
+    SectionSetFlags "${SECTION}" $0
+  Pop $0
+
+!macroend
+
+; ========= Macro to enable (unreadonly) a section =========
+!define SECTION_ENABLE   0xFFFFFFEF
+!macro EnableSection SECTION
+
+  Push $0
+    SectionGetFlags "${SECTION}" $0
+    IntOp $0 $0 & ${SECTION_ENABLE}
+    SectionSetFlags "${SECTION}" $0
+  Pop $0
+
+!macroend
+
+; ============================================================================
+; Command Line
+; ============================================================================
+!include "FileFunc.nsh"
+
+; ============================================================================
+; Directory selection page configuration
+; ============================================================================
+; The text to prompt the user to enter a directory
+DirText $(JOSM_DIR_TEXT)
+
+; The default installation directory
+InstallDir $PROGRAMFILES\JOSM\
+
+; See if this is an upgrade; if so, use the old InstallDir as default
+InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\JOSM "InstallDir"
+
+
+; ============================================================================
+; Install page configuration
+; ============================================================================
+ShowInstDetails show
+ShowUninstDetails show
+
+; ============================================================================
+; Functions and macros
+; ============================================================================
+
+; update file extension icons
+!macro UpdateIcons
+	Push $R0
+  	Push $R1
+  	Push $R2
+
+	!define UPDATEICONS_UNIQUE ${__LINE__}
+
+	IfFileExists "$SYSDIR\shell32.dll" UpdateIcons.next1_${UPDATEICONS_UNIQUE} UpdateIcons.error1_${UPDATEICONS_UNIQUE}
+UpdateIcons.next1_${UPDATEICONS_UNIQUE}:
+	GetDllVersion "$SYSDIR\shell32.dll" $R0 $R1
+	IntOp $R2 $R0 / 0x00010000
+	IntCmp $R2 4 UpdateIcons.next2_${UPDATEICONS_UNIQUE} UpdateIcons.error2_${UPDATEICONS_UNIQUE}
+UpdateIcons.next2_${UPDATEICONS_UNIQUE}:
+	System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
+	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
+
+UpdateIcons.error1_${UPDATEICONS_UNIQUE}:
+	MessageBox MB_OK|MB_ICONSTOP $(JOSM_UPDATEICONS_ERROR1)
+	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
+UpdateIcons.error2_${UPDATEICONS_UNIQUE}:
+	MessageBox MB_OK|MB_ICONINFORMATION $(JOSM_UPDATEICONS_ERROR2)
+	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
+UpdateIcons.quit_${UPDATEICONS_UNIQUE}:
+	!undef UPDATEICONS_UNIQUE
+	Pop $R2
+	Pop $R1
+  	Pop $R0
+
+!macroend
+
+; associate a file extension to an icon
+Function Associate
+	; $R0 should contain the prefix to associate to JOSM
+	Push $R1
+
+	ReadRegStr $R1 HKCR $R0 ""
+	StrCmp $R1 "" Associate.doRegister
+	Goto Associate.end
+Associate.doRegister:
+	;The extension is not associated to any program, we can do the link
+	WriteRegStr HKCR $R0 "" ${OSM_ASSOC}
+Associate.end:
+	pop $R1
+FunctionEnd
+
+; disassociate a file extension from an icon
+Function un.unlink
+	; $R0 should contain the prefix to unlink
+	Push $R1
+
+	ReadRegStr $R1 HKCR $R0 ""
+	StrCmp $R1 ${OSM_ASSOC} un.unlink.doUnlink
+	Goto un.unlink.end
+un.unlink.doUnlink:
+	; The extension is associated with JOSM so, we must destroy this!
+	DeleteRegKey HKCR $R0
+un.unlink.end:
+	pop $R1
+FunctionEnd
+
+Function .onInit
+  !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+Function un.onInit
+  !insertmacro MUI_UNGETLANGUAGE
+FunctionEnd
+
+; ============================================================================
+; Installation execution commands
+; ============================================================================
+
+Section "-Required"
+;-------------------------------------------
+
+;
+; Install for every user
+;
+SectionIn 1 2 RO
+SetShellVarContext current
+
+SetOutPath $INSTDIR
+
+; Write the uninstall keys for Windows
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "DisplayVersion" "${VERSION}"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "DisplayName" "JOSM ${VERSION}"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "UninstallString" '"$INSTDIR\uninstall.exe"'
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "Publisher" "OpenStreetMap JOSM team"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "HelpLink" "mailto:josm-dev@openstreetmap.org."
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "URLInfoAbout" "https://josm.openstreetmap.de"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "URLUpdateInfo" "https://josm.openstreetmap.de"
+WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "NoModify" 1
+WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "NoRepair" 1
+WriteUninstaller "uninstall.exe"
+
+; Write an entry for ShellExecute
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe" "" '$INSTDIR\${DEST}.exe'
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe" "Path" '$INSTDIR'
+
+SectionEnd ; "Required"
+
+
+Section $(JOSM_SEC_JOSM) SecJosm
+;-------------------------------------------
+SectionIn 1
+SetOutPath $INSTDIR
+File "${DEST}.exe"
+File "josm-tested.jar"
+
+; XXX - should be provided/done by josm.jar itself and not here!
+SetShellVarContext current
+SetOutPath "$APPDATA\JOSM"
+
+SectionEnd
+
+SectionGroup $(JOSM_SEC_PLUGINS_GROUP) SecPluginsGroup
+
+Section $(JOSM_SEC_TURNRESTRICTIONS_PLUGIN) SecTurnrestrictionsPlugin
+;-------------------------------------------
+SectionIn 1 2
+SetShellVarContext current
+SetOutPath $APPDATA\JOSM\plugins
+File "..\dist\turnrestrictions.jar"
+StrCpy $plugins "$plugins<entry value='turnrestrictions'/>"
+SectionEnd
+
+Section $(JOSM_SEC_WMS) SecWMS
+;-------------------------------------------
+SectionIn 1 2
+SetShellVarContext current
+SetOutPath $INSTDIR\imageformats
+File "webkit-image\imageformats\qjpeg4.dll"
+SetOutPath $INSTDIR
+File "webkit-image\mingwm10.dll"
+File "webkit-image\QtCore4.dll"
+File "webkit-image\QtGui4.dll"
+File "webkit-image\QtNetwork4.dll"
+File "webkit-image\QtWebKit4.dll"
+File "webkit-image\webkit-image.exe"
+SectionEnd
+
+SectionGroupEnd	; "Plugins"
+
+Section $(JOSM_SEC_STARTMENU) SecStartMenu
+;-------------------------------------------
+SectionIn 1 2
+; To quote "http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch11d.asp":
+; "Do not include Readme, Help, or Uninstall entries on the Programs menu."
+CreateShortCut "$SMPROGRAMS\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
+SectionEnd
+
+Section $(JOSM_SEC_DESKTOP_ICON) SecDesktopIcon
+;-------------------------------------------
+; Create desktop icon
+; Desktop icon for a program should not be installed as default!
+CreateShortCut "$DESKTOP\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
+SectionEnd
+
+Section $(JOSM_SEC_QUICKLAUNCH_ICON) SecQuickLaunchIcon
+;-------------------------------------------
+; Create quick launch icon. Does not really exist as of Windows 7/8 but still advanced users use it.
+; Only disable it by default, see #10241
+CreateShortCut "$QUICKLAUNCH\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
+SectionEnd
+
+Section $(JOSM_SEC_FILE_EXTENSIONS) SecFileExtensions
+;-------------------------------------------
+SectionIn 1 2
+; Create File Extensions
+WriteRegStr HKCR ${OSM_ASSOC} "" "OpenStreetMap data"
+WriteRegStr HKCR "${OSM_ASSOC}\Shell\open\command" "" '"$INSTDIR\${DEST}.exe" "%1"'
+WriteRegStr HKCR "${OSM_ASSOC}\DefaultIcon" "" '"$INSTDIR\${DEST}.exe",0'
+push $R0
+	StrCpy $R0 ".osm"
+  	Call Associate
+	StrCpy $R0 ".gpx"
+  	Call Associate
+; if somethings added here, add it also to the uninstall section
+pop $R0
+!insertmacro UpdateIcons
+SectionEnd
+
+Section "-PluginSetting"
+;-------------------------------------------
+SectionIn 1 2
+;MessageBox MB_OK "PluginSetting!" IDOK 0
+; XXX - should better be handled inside JOSM (recent plugin manager is going in the right direction)
+SetShellVarContext current
+!include LogicLib.nsh
+IfFileExists "$APPDATA\JOSM\preferences" settings_exists
+IfFileExists "$APPDATA\JOSM\preferences.xml" settings_exists
+FileOpen $R0 "$APPDATA\JOSM\preferences.xml" w
+FileWrite $R0 "<?xml version='1.0' encoding='UTF-8'?><preferences xmlns='http://josm.openstreetmap.de/preferences-1.0' version='4660'><list key='plugins'>$plugins</list></preferences>"
+FileClose $R0
+settings_exists:
+SectionEnd
+
+Section "un.$(un.JOSM_SEC_UNINSTALL)" un.SecUinstall
+;-------------------------------------------
+
+;
+; UnInstall for every user
+;
+SectionIn 1 2
+SetShellVarContext current
+
+Delete "$INSTDIR\josm-tested.jar"
+IfErrors 0 NoJOSMErrorMsg
+	MessageBox MB_OK $(un.JOSM_IN_USE_ERROR) IDOK 0 ;skipped if josm.jar removed
+	Abort $(un.JOSM_IN_USE_ERROR)
+NoJOSMErrorMsg:
+Delete "$INSTDIR\${DEST}.exe"
+Delete "$INSTDIR\imageformats\qjpeg4.dll"
+RMDir "$INSTDIR\imageformats"
+Delete "$INSTDIR\mingwm10.dll"
+Delete "$INSTDIR\QtCore4.dll"
+Delete "$INSTDIR\QtGui4.dll"
+Delete "$INSTDIR\QtNetwork4.dll"
+Delete "$INSTDIR\QtWebKit4.dll"
+Delete "$INSTDIR\webkit-image.exe"
+Delete "$INSTDIR\uninstall.exe"
+
+DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM"
+DeleteRegKey HKEY_LOCAL_MACHINE "Software\${DEST}.exe"
+DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe"
+
+; Remove Language preference info
+DeleteRegKey HKCU "Software/JOSM" ;${MUI_LANGDLL_REGISTRY_ROOT} ${MUI_LANGDLL_REGISTRY_KEY}
+
+push $R0
+	StrCpy $R0 ".osm"
+  	Call un.unlink
+	StrCpy $R0 ".gpx"
+  	Call un.unlink
+pop $R0
+
+DeleteRegKey HKCR ${OSM_ASSOC}
+DeleteRegKey HKCR "${OSM_ASSOC}\Shell\open\command"
+DeleteRegKey HKCR "${OSM_ASSOC}\DefaultIcon"
+!insertmacro UpdateIcons
+
+Delete "$SMPROGRAMS\josm.lnk"
+Delete "$DESKTOP\josm.lnk"
+Delete "$QUICKLAUNCH\josm.lnk"
+
+RMDir "$INSTDIR"
+
+SectionEnd ; "Uninstall"
+
+Section /o "un.$(un.JOSM_SEC_PERSONAL_SETTINGS)" un.SecPersonalSettings
+;-------------------------------------------
+SectionIn 2
+SetShellVarContext current
+Delete "$APPDATA\JOSM\plugins\turnrestrictions\*.*"
+RMDir "$APPDATA\JOSM\plugins\turnrestrictions"
+Delete "$APPDATA\JOSM\plugins\openstreetbugs\*.*"
+RMDir "$APPDATA\JOSM\plugins\openstreetbugs"
+Delete "$APPDATA\JOSM\plugins\*.*"
+RMDir "$APPDATA\JOSM\plugins"
+
+Delete "$APPDATA\JOSM\motd.html"
+Delete "$APPDATA\JOSM\preferences.xml"
+RMDir "$APPDATA\JOSM"
+SectionEnd
+
+Section "-Un.Finally"
+;-------------------------------------------
+SectionIn 1 2
+; this test must be done after all other things uninstalled (e.g. Global Settings)
+IfFileExists "$INSTDIR" 0 NoFinalErrorMsg
+    MessageBox MB_OK $(un.JOSM_INSTDIR_ERROR) IDOK 0 ; skipped if dir doesn't exist
+NoFinalErrorMsg:
+SectionEnd
+
+; ============================================================================
+; PLEASE MAKE SURE, THAT THE DESCRIPTIVE TEXT FITS INTO THE DESCRIPTION FIELD!
+; ============================================================================
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecJosm} $(JOSM_SECDESC_JOSM)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsGroup} $(JOSM_SECDESC_PLUGINS_GROUP)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecTurnrestrictionsPlugin} $(JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecWMS} $(JOSM_SECDESC_WMS)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(JOSM_SECDESC_STARTMENU)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} $(JOSM_SECDESC_DESKTOP_ICON)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecQuickLaunchIcon} $(JOSM_SECDESC_QUICKLAUNCH_ICON) 
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecFileExtensions} $(JOSM_SECDESC_FILE_EXTENSIONS)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${un.SecUinstall} $(un.JOSM_SECDESC_UNINSTALL)
+  !insertmacro MUI_DESCRIPTION_TEXT ${un.SecPersonalSettings} $(un.JOSM_SECDESC_PERSONAL_SETTINGS)
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
+
+; ============================================================================
+; Callback functions
+; ============================================================================
+
Index: trunk/windows/langmacros.nsh
===================================================================
--- trunk/windows/langmacros.nsh	(revision 7838)
+++ trunk/windows/langmacros.nsh	(revision 7838)
@@ -0,0 +1,84 @@
+;;
+;; Windows JOSM NSIS installer language macros
+;;
+
+!macro JOSM_MACRO_DEFAULT_STRING LABEL VALUE
+  !ifndef "${LABEL}"
+    !define "${LABEL}" "${VALUE}"
+    !ifdef INSERT_DEFAULT
+      !warning "${LANG} lang file mising ${LABEL}, using default.."
+    !endif
+  !endif
+!macroend
+
+!macro JOSM_MACRO_LANGSTRING_INSERT LABEL LANG
+  LangString "${LABEL}" "${LANG_${LANG}}" "${${LABEL}}"
+  !undef "${LABEL}"
+!macroend
+
+!macro JOSM_MACRO_LANGUAGEFILE_BEGIN LANG
+  !define CUR_LANG "${LANG}"
+!macroend
+
+!macro JOSM_MACRO_LANGUAGEFILE_END
+  !define INSERT_DEFAULT
+  !include "${JOSM_DEFAULT_LANGFILE}"
+  !undef INSERT_DEFAULT
+
+  ; JOSM Language file Version 2
+  ; String labels should match those from the default language file.
+  
+  
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_WELCOME_TEXT				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_DIR_TEXT					${CUR_LANG}
+
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_FULL_INSTALL				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_JOSM 					${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_PLUGINS_GROUP 			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_TURNRESTRICTIONS_PLUGIN    ${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_WMS 			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_STARTMENU 				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_DESKTOP_ICON 			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_QUICKLAUNCH_ICON 		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_FILE_EXTENSIONS 		${CUR_LANG}
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_JOSM				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_PLUGINS_GROUP		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN	${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_WMS			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_STARTMENU			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_DESKTOP_ICON		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_QUICKLAUNCH_ICON	${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_FILE_EXTENSIONS	${CUR_LANG}
+
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_UPDATEICONS_ERROR1			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_UPDATEICONS_ERROR2			${CUR_LANG}
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_LINK_TEXT					${CUR_LANG}
+  
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_UNCONFIRMPAGE_TEXT_TOP		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_DEFAULT_UNINSTALL			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_FULL_UNINSTALL				${CUR_LANG}
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_IN_USE_ERROR				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_INSTDIR_ERROR				${CUR_LANG}
+    
+	
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_UNINSTALL				${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_PERSONAL_SETTINGS		${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_PLUGINS					${CUR_LANG}
+  
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SECDESC_UNINSTALL			${CUR_LANG}
+  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SECDESC_PERSONAL_SETTINGS	${CUR_LANG}
+  
+
+  !undef CUR_LANG
+!macroend
+
+!macro JOSM_MACRO_INCLUDE_LANGFILE LANG FILE
+  !insertmacro JOSM_MACRO_LANGUAGEFILE_BEGIN "${LANG}"
+  !include "${FILE}"
+  !insertmacro JOSM_MACRO_LANGUAGEFILE_END
+!macroend
Index: trunk/windows/launch4j.xml
===================================================================
--- trunk/windows/launch4j.xml	(revision 7838)
+++ trunk/windows/launch4j.xml	(revision 7838)
@@ -0,0 +1,35 @@
+<launch4jConfig>
+  <headerType>gui</headerType>
+  <outfile>%TARGET%.exe</outfile>
+  <jar>josm-tested.jar</jar>
+  <dontWrapJar>true</dontWrapJar>
+  <errTitle></errTitle>
+  <downloadUrl>https://java.com/download</downloadUrl>
+  <supportUrl></supportUrl>
+  <cmdLine></cmdLine>
+  <chdir></chdir>
+  <priority>normal</priority>
+  <stayAlive>true</stayAlive>
+  <icon>logo.ico</icon>
+  <jre>
+    <path></path>
+    <minVersion>1.7.0</minVersion>
+    <maxVersion></maxVersion>
+    <jdkPreference>preferJre</jdkPreference>
+	<runtimeBits>%RTBITS%</runtimeBits>
+    <initialHeapSize>%INIHEAP%</initialHeapSize>
+    <maxHeapSize>%MAXHEAP%</maxHeapSize>
+  </jre>
+  <versionInfo>
+    <fileVersion>1.5.0.%VERSION%</fileVersion>
+    <txtFileVersion>%VERSION%</txtFileVersion>
+    <fileDescription>Java OpenStreetMap Editor</fileDescription>
+    <copyright>GNU General Public License v2 or later</copyright>
+    <productVersion>1.5.0.%VERSION%</productVersion>
+    <txtProductVersion>%VERSION%</txtProductVersion>
+    <productName>JOSM</productName>
+    <companyName>OpenStreetMap</companyName>
+    <internalName>%TARGET%</internalName>
+    <originalFilename>%TARGET%.exe</originalFilename>
+  </versionInfo>
+</launch4jConfig>
Index: trunk/windows/locale/english.nsh
===================================================================
--- trunk/windows/locale/english.nsh	(revision 7838)
+++ trunk/windows/locale/english.nsh	(revision 7838)
@@ -0,0 +1,51 @@
+;;
+;;  english.nsh
+;;
+;;  Default language strings for the Windows JOSM NSIS installer.
+;;  Windows Code page: 1252
+;;
+;;  Note: If translating this file, replace "!insertmacro JOSM_MACRO_DEFAULT_STRING"
+;;  with "!define".
+
+; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
+; langmacros.nsh when updating this file
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "This wizard will guide you through the installation of the Java OpenStreetMap Editor (JOSM).$\r$\n$\r$\nBefore starting the installation, make sure any JOSM applications are not running.$\r$\n$\r$\nClick 'Next' to continue."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Choose a directory in which to install JOSM."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (full install)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Plugins"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "WMS Downloader"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Start Menu Entry"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Desktop Icon"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Quick Launch Icon"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "File Extensions"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM is the Java OpenStreetMap editor for .osm files."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "An assortment of useful JOSM plugins."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Allows to enter and maintain information about turn restrictions."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Display background images from Web Map Service (WMS) sources."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "Add a JOSM start menu entry."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "Add a JOSM desktop icon."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "Add a JOSM icon to the quick launch bar."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "Add JOSM file extensions for .osm and .gpx files."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "Can't find 'shell32.dll' library. Impossible to update icons"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "You should install the free 'Microsoft Layer for Unicode' to update JOSM file icons"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "Java OpenStreetMap - Editor"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "The following Java OpenStreetMap editor (JOSM) installation will be uninstalled. Click 'Next' to continue."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "Default (keep Personal Settings and plugins)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "All (remove all)"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Please note: josm could not be removed, it's probably in use!"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Please note: The directory $INSTDIR could not be removed!"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Personal settings" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Personal plugins" 
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "Uninstall JOSM."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "Uninstall personal settings from your profile: $PROFILE."
Index: trunk/windows/locale/french.nsh
===================================================================
--- trunk/windows/locale/french.nsh	(revision 7838)
+++ trunk/windows/locale/french.nsh	(revision 7838)
@@ -0,0 +1,51 @@
+;;
+;;  french.nsh
+;;
+;;  French language strings for the Windows JOSM NSIS installer.
+;;  Windows Code page: 1252
+;;
+;;  Author: Vincent Privat <vprivat@openstreetmap.fr>, 2011.
+;;
+
+; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
+; langmacros.nsh when updating this file
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "Cet assistant va vous guider à travers l'installation de l'éditeur Java OpenStreetMap (JOSM).$\r$\n$\r$\nAvant de lancer l'installation, assurez-vous que JOSM n'est pas déjà en cours d'exécution.$\r$\n$\r$\nVeuillez cliquer sur 'Suivant' pour continuer."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Veuillez choisir un dossier où installer JOSM."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (installation complète)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Greffons"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "Téléchargement WMS"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Entrée dans le menu Démarrer"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Icône sur le Bureau"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Icône dans la barre de lancement rapide"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "Extensions de fichier"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM est l'éditeur Java OpenStreetMap pour les fichiers .osm."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "Une sélection de greffons utiles pour JOSM."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Permet de saisir et de maintenir des informations sur les restrictions de tourner."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Affiche des images en arrière-plan à partir de sources Web Map Service (WMS)."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "Ajoute une entrée JOSM au menu démarrer."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "Ajoute une icône JOSM au Bureau."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "Ajoute une icône JOSM à la barre de lancement rapide."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "Associe JOSM aux extensions de fichier .osm et .gpx."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "La bibliothèque 'shell32.dll' est introuvable. Impossible de mettre à jour les icônes"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "Vous devriez installer le complément gratuit 'Microsoft Layer for Unicode' pour mettre à jour les fichiers d'icônes de JOSM"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "Éditeur Java OpenStreetMap"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "L'installation suivante de l'éditeur Java OpenStreetMap (JOSM) va être désinstallée. Veuillez cliquer sur 'Suivant' pour continuer."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "Défaut (conserve les paramètres personnels et les greffons)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "Tout (supprime l'intégralité des fichiers)"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Attention: JOSM n'a pas pu être retiré, il est probablement en utilisation !"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Attention: Le dossier $INSTDIR n'a pas pu être supprimé !"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Paramètres personnels" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Greffons personnels" 
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "Désinstaller JOSM."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "Désinstaller les paramètres personnels de votre profil: $PROFILE."
Index: trunk/windows/locale/german.nsh
===================================================================
--- trunk/windows/locale/german.nsh	(revision 7838)
+++ trunk/windows/locale/german.nsh	(revision 7838)
@@ -0,0 +1,51 @@
+;;
+;;  german.nsh
+;;
+;;  German language strings for the Windows JOSM NSIS installer.
+;;  Windows Code page: 1252
+;;
+;;  Author: Bjoern Voigt <bjoern@cs.tu-berlin.de>, 2003.
+;;  Version 2
+
+; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
+; langmacros.nsh when updating this file
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "Diese Installationshilfe wird Sie durch den Installationsvorgang des JAVA OpenStreetMap Editors (JOSM) führen.$\r$\n$\r$\nBevor Sie die Installation starten, stellen Sie bitte sicher das JOSM nicht bereits läuft.$\r$\n$\r$\nAuf 'Weiter' klicken um fortzufahren."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Bitte das Verzeichnis auswählen, in das JOSM installiert werden soll."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (Komplettinstallation)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Plugins"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "WMS Downloadprogram"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Startmenü Eintrag"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Desktop Icon"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Schnellstartleiste Icon"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "Dateiendungen"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM ist der JAVA OpenStreetMap Editor für .osm Dateien."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "Eine Auswahl an nützlichen JOSM Plugins."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Erleichtert die Eingabe und Pflege von Informationen zu Abbiegebeschränkungen."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Hintergrundbilder von Web Map Service (WMS) Quellen."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "Fügt JOSM zum Startmenü hinzu."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "Fügt ein JOSM Icon zum Desktop hinzu."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "Fügt ein JOSM Icon zur Schnellstartleiste (Quick Launch) hinzu."
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "Fügt JOSM Dateiendungen für .osm and .gpx Dateien hinzu."
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "Kann die Bibliothek 'shell32.dll' nicht finden. Das Update der Icons ist nicht möglich"
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "Sie sollten die kostenlose 'Microsoft Layer for Unicode' installieren um die Icons updaten zu können"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "JAVA OpenStreetMap - Editor"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "Die folgende JAVA OpenStreetMap editor (JOSM) Installation wird deinstalliert. Auf 'Weiter' klicken um fortzufahren."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "Default (persönliche Einstellungen und Plugins behalten)"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "Alles (alles entfernen)"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Achtung: josm konnte nicht entfernt werden, möglicherweise wird es noch benutzt!"
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Achtung: Das Verzeichnis $INSTDIR konnte nicht entfernt werden!"
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Persönliche Einstellungen" 
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Persönliche Plugins" 
+
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "Deinstalliere JOSM."
+!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "Deinstalliere persönliche Einstellungen von Ihrem Profil: $PROFILE."
