Rather than translate(), a simpler and more reliable way to perform an case insensitive string comparison is to use msxsl:string-compare():
msxsl:string-compare(firstValue, secondValue, '', 'i')
This will return 0 if the values are the same (regardless of case) and -1 or 1 if they are different, so to check if they were the same, you would do this:
msxsl:string-compare(firstValue, secondValue, '', 'i') = 0