誰かを待たせたときに謝る場合、
以下の英語表現を使います。
I'm sorry to have kept you waiting.
(お待たせしてすみません。)
「have」を使ってるのは、
待たせたことが完了したという意味の現在完了として使っています。
長く待たせた場合は、
I'm sorry to have kept you waiting for so long.
(長くお待たせしてすみません。)
のようにします。
引き続きお待たせ中の場合は以下の英語表現になります。
I'm sorry to keep you waiting.
(お待たせしてすみません。)
このように「have」を使わないで表現します。
「to」の代わりに「for」を使うこともできます。
I'm sorry for keeping you waiting.
(同上)
なお「have」を使わない以下の2つですが、
I'm sorry to keep you waiting.
I'm sorry for keeping you waiting.
人によっては、
I'm sorry to have kept you waiting.
と同じように使うこともあるそうです。