update languages, add generate script