The term "compiling" implies that more than one thing is being combined into a single final output. Usually it implies either the expansion of keywords (such as commands) into actual machine instructions, more often the pulling in of subroutines from various libraries.
"Translation" or "interpretation" implies a more linear approach, where the source is merely converted to machine code.
In practice, systems that translate human-readable code into machine code at run-time, each time a program is run, are considered to be interpreters, while a system that does a one time translation, then stores and runs the "executable file" are compilers.
Obviously, it's possible for nearly any language to be either interpreted or compiled, or both for that matter. Some languages are designed and optimized for run-time "interpretation".
(A side note: In the 80's, Dial-up Bulletin Board software involved relatively large text-based configuration files. Some programs like Berley BBS would check the timestamp on the config files, and if they had changed since last run the program would translate them into binary. It would then be able to use the binary translation each time it was run until the master config file changed again. Saved some execution cycles, while making the configuration file very easy to understand and edit.)