After searching for days via Google, I found that some strings created cannot be translated. I installed location client, hoping it can tell me where the XXX of the untranslatable string come from. It did not tell me.
Well, the translation interface did not tell me that either, but at least, it tells me that most of the strings I cannot translate are in the 'build-in interface'.
I higher hope on Localization client, as it listed out all the string. It would be god sent if the module name, or even the record id in the translation table, to be shown just below the all the string collected on the left, so that I can just go into the place and change it manually.
Off-topic, I would like to know if it is possible to rebuild/refresh the 'build-in' interface, as this is missing in the refresh translation. Also, if some strings are removed accidentally, is there a way to re-build/refresh/create it? If not, why the XXX there is a remove option for every string?