Index: src/ictranslate/ICTranslateDlg.cpp
===================================================================
diff -u -N -raa9c75acee79827e5a305ab76af0b121fcbf860d -rf6fe924675e9de6120b6c1eac2430fa5b2946251
--- src/ictranslate/ICTranslateDlg.cpp	(.../ICTranslateDlg.cpp)	(revision aa9c75acee79827e5a305ab76af0b121fcbf860d)
+++ src/ictranslate/ICTranslateDlg.cpp	(.../ICTranslateDlg.cpp)	(revision f6fe924675e9de6120b6c1eac2430fa5b2946251)
@@ -15,6 +15,7 @@
 #define IMAGE_NONEXISTENT 1
 #define IMAGE_OVERFLUOUS 2
 #define IMAGE_VALID 3
+#define IMAGE_WARNING 4
 
 // CAboutDlg dialog used for App About
 
@@ -136,6 +137,7 @@
 	m_ilImages.Add(AfxGetApp()->LoadIcon(IDI_NONEXISTENT_ICON));
 	m_ilImages.Add(AfxGetApp()->LoadIcon(IDI_OVERFLUOUS_ICON));
 	m_ilImages.Add(AfxGetApp()->LoadIcon(IDI_VALID_ICON));
+	m_ilImages.Add(AfxGetApp()->LoadIcon(IDI_WARNING_ICON));
 
 	m_ctlCustomLanguageList.SetImageList(&m_ilImages, LVSIL_SMALL);
 
@@ -462,10 +464,22 @@
 	{
 		if(pBaseItem)
 		{
-			if(pCustomItem->GetChecksum() != pBaseItem->GetChecksum())
-				lvi.iImage = IMAGE_INVALID;
-			else
+			ictranslate::CTranslationItem::ECompareResult eResult = pCustomItem->Compare(*pBaseItem);
+			switch(eResult)
+			{
+			case ictranslate::CTranslationItem::eResult_Valid:
 				lvi.iImage = IMAGE_VALID;
+				break;
+			case ictranslate::CTranslationItem::eResult_Invalid:
+				lvi.iImage = IMAGE_INVALID;
+				break;
+			case ictranslate::CTranslationItem::eResult_ContentWarning:
+				lvi.iImage = IMAGE_WARNING;
+				break;
+			default:
+				assert(false);
+				lvi.iImage = IMAGE_INVALID;
+			}
 		}
 		else
 			lvi.iImage = IMAGE_OVERFLUOUS;