#UPDATE: Add the codes about handling languages.
#UPDATE: Some minot updates.