more compact and flexible translation api