Externalized strings
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSUIMessages.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSUIMessages.java
index d414a5e..dcb231e 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSUIMessages.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSUIMessages.java
@@ -1016,8 +1016,19 @@
     public static String CVSMappingMergeOperation_MergeInfoTitle;
 	public static String CVSMappingMergeOperation_MergeInfoText;
 	
+	public static String WorkInProgressPage_0;
+	public static String WorkInProgressPage_1;
+	public static String WorkInProgressPage_2;
+	public static String FetchAllMembersOperation_0;
+	public static String CacheTreeContentsOperation_0;
+	public static String CacheTreeContentsOperation_1;
+	public static String CVSMergeContext_0;
+	public static String CVSMergeContext_1;
+	public static String CVSMergeContext_2;
+	
 	static {
 		// load message values from bundle file
 		NLS.initializeMessages(BUNDLE_NAME, CVSUIMessages.class);
 	}
+
 }
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/WorkInProgressPage.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/WorkInProgressPage.java
index 854acba..21e6abb 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/WorkInProgressPage.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/WorkInProgressPage.java
@@ -27,11 +27,11 @@
 		addField(enableClientUpdate);
 		updateStyle = new RadioGroupFieldEditor(
 						ICVSUIConstants.PREF_UPDATE_HANDLING,
-						"When performing a Team Update",
+						CVSUIMessages.WorkInProgressPage_0,
 						1,
 						new String[][] {
-							new String[] {"Show all changes in the merge dialog",  ICVSUIConstants.PREF_UPDATE_HANDLING_PREVIEW},
-							new String[] {"Merge all non-conflicting changes and only show conflicts in the dialog", ICVSUIConstants.PREF_UPDATE_HANDLING_PERFORM }
+							new String[] {CVSUIMessages.WorkInProgressPage_1,  ICVSUIConstants.PREF_UPDATE_HANDLING_PREVIEW},
+							new String[] {CVSUIMessages.WorkInProgressPage_2, ICVSUIConstants.PREF_UPDATE_HANDLING_PERFORM }
 						},
 						getFieldEditorParent(),
 						true);
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/CVSMergeContext.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/CVSMergeContext.java
index df40a85..134730e 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/CVSMergeContext.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/CVSMergeContext.java
@@ -26,6 +26,7 @@
 import org.eclipse.team.internal.ccvs.core.client.PruneFolderVisitor;
 import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
 import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
+import org.eclipse.team.internal.ccvs.ui.CVSUIMessages;
 import org.eclipse.team.internal.ccvs.ui.Policy;
 import org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceSynchronizeParticipant;
 import org.eclipse.team.internal.core.diff.ResourceDiffTree;
@@ -40,7 +41,7 @@
 
 	public static IMergeContext createContext(IResourceMappingScope scope, IProgressMonitor monitor) {
 		WorkspaceSynchronizeParticipant participant = new WorkspaceSynchronizeParticipant(new ResourceScope(scope.getRoots()));
-		participant.refreshNow(participant.getResources(), NLS.bind("Preparing to merge {0}", new String[] { "TODO: mapping description for CVS merge context initialization" }), monitor);
+		participant.refreshNow(participant.getResources(), CVSUIMessages.CVSMergeContext_0, monitor);
 		ResourceDiffTree tree = new ResourceDiffTree();
 		SyncInfoToDiffConverter converter = new SyncInfoToDiffConverter(participant.getSyncInfoSet(), tree);
 		converter.connect(monitor);
@@ -96,7 +97,7 @@
 		}
 		IDiffNode currentState = SyncInfoToDiffConverter.getDeltaFor(info);
 		if (!equals(currentState, delta)) {
-			throw new CVSException(NLS.bind("The state of {0} has been changed concurrently.", delta.getPath()));
+			throw new CVSException(NLS.bind(CVSUIMessages.CVSMergeContext_1, delta.getPath()));
 		}
 		IStatus status = super.merge(delta, force, monitor);
 		if (status.isOK() && delta.getKind() == IDiffNode.REMOVED) {
@@ -147,7 +148,7 @@
 	public void refresh(ResourceTraversal[] traversals, int flags, IProgressMonitor monitor) throws CoreException {
 		// TODO: Shouldn't need to use a scope here
 		IResource[] resources = getScope().getRoots();
-		participant.refreshNow(resources, "TODO: CVS Merge Context Refresh", monitor);
+		participant.refreshNow(resources, CVSUIMessages.CVSMergeContext_2, monitor);
 	}
 	
 	/* (non-Javadoc)
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/messages.properties b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/messages.properties
index a9bbab2..1b40df2 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/messages.properties
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/messages.properties
@@ -877,8 +877,12 @@
 CVSOperation_2=Show CVS Console
 CVSModelElement_0=Error
 CVSModelElement_1=Error fetching resource list from repository.
+CVSMergeContext_0=Determining remote changes
+CVSMergeContext_1=The state of {0} has been changed concurrently.
+CVSMergeContext_2=Refreshing remote changes
 CVSDecorator_exceptionMessage=Errors occurred while applying CVS decorations to resources.
 FetchMembersOperation_0=Fetching members of {0}
+FetchAllMembersOperation_0=Fetching Members
 
 RemoteRevisionQuickDiffProvider_readingFile=Error reading remote file
 RemoteRevisionQuickDiffProvider_closingFile=Error closing remote file
@@ -1072,5 +1076,10 @@
 DiffOperation_0=Creating Patch on {0}
 DiffOperation_1=Creating Patch
 WorkInProgress_EnableModelUpdate=Perform client side merges on update
+WorkInProgressPage_0=When performing a Team Update
+WorkInProgressPage_1=Show all changes in the merge dialog
+WorkInProgressPage_2=Merge all non-conflicting changes and only show conflicts in the dialog
 CVSMappingMergeOperation_MergeInfoTitle=Conflicts Occurred
 CVSMappingMergeOperation_MergeInfoText=Some elements contained conflicts that could not be handled automatically. Conflicts will appear in the Synchronize View.
+CacheTreeContentsOperation_0=Fetching contents for changed files in {0}
+CacheTreeContentsOperation_1=Fetching contents for changed files
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CacheTreeContentsOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CacheTreeContentsOperation.java
index e46ba35..04468f6 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CacheTreeContentsOperation.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/CacheTreeContentsOperation.java
@@ -24,6 +24,7 @@
 import org.eclipse.team.internal.ccvs.core.*;
 import org.eclipse.team.internal.ccvs.core.client.*;
 import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
+import org.eclipse.team.internal.ccvs.ui.CVSUIMessages;
 import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
 import org.eclipse.ui.IWorkbenchPart;
 
@@ -116,11 +117,11 @@
 	}
 	
 	protected String getTaskName(CVSTeamProvider provider) {
-		return NLS.bind("Fetching contents for changed files in {0}", new String[] {provider.getProject().getName()});
+		return NLS.bind(CVSUIMessages.CacheTreeContentsOperation_0, new String[] {provider.getProject().getName()});
 	}
 
 	protected String getTaskName() {
-		return "Fetching contents for changed files";
+		return CVSUIMessages.CacheTreeContentsOperation_1;
 	}
 
 }
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchAllMembersOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchAllMembersOperation.java
index 7a74ba0..4cbce71 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchAllMembersOperation.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchAllMembersOperation.java
@@ -11,6 +11,7 @@
 import org.eclipse.team.internal.ccvs.core.client.listeners.LogListener;
 import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
 import org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTree;
+import org.eclipse.team.internal.ccvs.ui.CVSUIMessages;
 import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
 import org.eclipse.team.internal.ccvs.ui.model.RemoteContentProvider;
 import org.eclipse.team.internal.ccvs.ui.operations.RemoteLogOperation.LogEntryCache;
@@ -182,7 +183,7 @@
 	}
 	
 	protected String getTaskName() {
-		return "Fetch All Members Operation";
+		return CVSUIMessages.FetchAllMembersOperation_0;
 	}