「昔」は、英語では「a long time ago」「long ago」「once」「in the past」「once upon a time」「in the old days」のように表現されます。
「a long time ago」と「long ago」はほぼ同じ意味で使われ、どちらも「長い時間をさかのぼって」という意味となります。どちらも通常「文頭」か「文末」のどちらかに置かれ、その文(節)全体を修飾します。この2つを混同して「long time ago」としないようにしましょう。(aの欠落に注意。)
「once」は「かつて(過去のある時に)」という意味を表します。「a long time ago」などと異なり、「once」は通常「動詞や形容詞や副詞などの直前」に置かれ、直後に置かれたその言葉を修飾します。なお、「once」は「1回(=one time)」の意味となることもあるので、「昔」の意となるかどうかは文脈から判断するようにしましょう。
「in the past」は、文字通り「過去においては」や「その昔には」という意味で使われます。「現在や未来ではなく、過去の話ですよ」と述べる場合に「in the past」という表現が使われます。
「once upon a time」は、「昔話」や「おとぎ話」などの冒頭で使われる表現で、「むかしむかし」のような日本語に当たります。日常の会話で「once upon a time」という表現を使うと、まるで子供に聞かせる昔話のような印象を相手に与えることになるので注意しましょう。
「in the old days」は、文字通り訳せば「古い日々において」となりますが、つまりは「古き時代において」という意味です。これは少し堅い表現とされています。
「昔」という言葉は、日常的には「a long time ago」か「once」のどちらかで表現されるのが一般的です。文全体(あるいは節全体)を修飾するならば「a long time ago」を使い、文中の1語を修飾するならば「once」を使う、というように区別すると良いでしょう。