回答
まず、この表現を使うときは場面を考慮する必要があります。「外国人だから日本語は上手ではないだろう」という前提は、モノリンガルの日本ではありがちですが、相手に対して失礼な場合があります。
相手が日本語を勉強中であることを言っていたり、日本語が上手に聞こえるか聞いて来るなど、相手が日本語を習得しているという事実を知った上で言うべきです。
外国国籍でも日本で生まれている人もいますし、外国人に見えても日本に帰化している人もいますので。
★Your Japanese is very good.
(あなたの日本語はとても上手です)
「good」で「上手」という意味になります。
他にも「amazing=素晴らしい」や「great=すごい」と表現してもいいでしょう。
★You are quite fluent in Japanese.
(日本語結構流暢ですね)
「fluent in〜」は「〜語が流暢」という意味の表現です。
この表現には、驚きのニュアンスが含まれます。
【例】
You are quite fluent in Japanese. I didn’t know.
(日本語結構流暢なんですね。知らなかったです)
★You speak like native Japanese.
(日本人ネイティブみたいに話されますね)
日本語ネイティブのように日本語が上手だったときに使える表現です。
【例】
Wow! You speak like native Japanese! I couldn’t tell that you came to Japan just a year ago.
(すごい!日本語ネイティブみたいですね!たった一年前に日本にきたなんて全然わかりませんでした)