add almost translation, but not finished