プレビューモードとロケール別とデバイス別と権限別の判定はどこで?
ユースケースで。

プレビューモードを通常のユースケースと分けないなら、プレビューモード外部名補完は通常の外部名補完がプレビューモードを考慮して行なう。
プレビューモードを独立したユースケースとするならば専用の外部名補完処理で。
→ 分けると完全なプレビューができない?外部名だけで対応可能なので分けなくていいはず。