こんにちは!
ご質問ありがとうございます。
『あの時こう言っとけばよかったな』は、いくつか言い方が考えられますが、例えば、
I should have said so at that time.
と言えます。
この場合の『こう』は、so を使って表現できます。
例文
because you say so あなたがこう(そう)言うのだから
even if you say so そんなこと言ったって
また、
should have は、『~すべきだった(のにしなかった)、~すればよかったのに(しなかった)』と言う時に使う表現です。
例文
I should have said that.
『あれを言うべきだった』
I should have mentioned that first.
『初めにそのことを言っておくべきだった』
参考になれば幸いです。
おっしゃられている内容のそのままピッタリの訳は、他のアンカーの方も回答してらっしゃるように、
I should have said that at that time.
「あの時、それを言っておけばよかったなぁ」
となります。
should have 過去分詞
は、「過去を振り返って、あの時、あぁしておけば良かったのになぁ」と後悔する時によく使う表現です。
あとは、直訳とかでは全然ないのですが、同じような意味を表す他の類似表現を参考がてら挙げさせていただきます。
Why didn't I say that at that time?
「なんであの時ああ言わなかったんだろ?」
I regret not saying that at that time.
「あの時ああ言わなかったことを後悔しています」
以上です。
少しでも参考になれば幸いです(*^_^*)
★★大阪カフェレッスン英会話講師 KOGACHI