Well, it’s roughly the collection of code that is passed to the compiler after preprocessing. i.e. it’s a source file (.c or .cpp), and all its includes. When you compile a single file, such as main.cpp, you only have one translation unit. But when you compile more than one .c or .cpp file, you have multiple translation units. A static variable is only available to a single translation unit. If you include the same variable in another unit, you will effectively have two variables with the same name.
An example will explain it more succinctly.