-pu' and -ta' are not present perfect. Klingon does not have present perfect. This course tends to use English perfect tenses to translate these suffixes, but this is only an approximation.
-pu' and -ta' are PERFECTIVE, which is a different concept than perfect. It means that, regardless of WHEN an action took place, it was completed. The perfective refers to the idea that an action was undertaken and completed. It might be translated into English as a perfect tense, or it might be translated as a simple tense. For instance, "The robot repaired the ship" is a valid way to translate the Klingon, because "repaired" can include the concept that the robot undertook repairs and completed them. Without the -ta', the sentence would express the fact that the robot is the repair robot for that ship, but it would not be talking about whether the repairs were completed.
It's a tough concept to explain to English speakers, because it's literally impossible to say something in English without mixing tense and aspect.
So anyway, the difference between -pu' and -ta' is that -pu' is the general perfective suffix, while -ta' is just like -pu' except that it includes a connotation of having accomplished something the subject set out to do.
Duj tI'pu' qoq.
The robot repaired the ship.
Duj tI'ta' qoq.
The robot repaired the ship (which is what it set out to do).*
Use of -ta' instead of -pu' is always optional; you can use -pu' even if something was deliberately accomplished.
My use of simple past tense to translate is just one possibility. Depending on the concept, Duj tI'ta' qoq might just as easily be translated "The robot repairs the ship" or "The robot will have repaired the ship." It all depends on context and what sounds the most natural in English for the given situation.
Perhaps an additional example that illustrates the difference with and without -ta' is expressed by this example: one Klingon could ask another "nuq vum qoqvam?" ("What does this robot do?"*) and the other replies, "Duj tI' qoq" ("The robot repairs the ship."). This would show that this is the robot's habitual function, while adding -'ta' to the verb makes it clear that specific repairs have been carried out and completed, as intended.
- I hope the verb vum is okay in this context - I cannot find a verb for "to do" offhand. Would Qap perhaps be better?
I agree with mizinamo: DIgh is much better than vum. I'm not even sure that vum is transitive.
You're right that the example with -ta' won't refer to a habitual action, because it's perfective. But lacking a perfective (or continuous) suffix doesn't automatically invoke a habitual aspect either. Lacking a type 7 suffix is Klingons "default" state, and is used for all those other aspects that aren't perfective or continuous.
So Duj tI' qoq could mean the robot is in the middle of repairing the ship right now (or whenever the time context is) but hasn't finished yet (imperfective aspect), or it could mean the robot habitually repairs the ship (habitual aspect), or that the robot has been assigned the task of repairing the ship (whether it has done so yet or not), or even a prediction of something that might happen. Without further context, it is impossible to tell which is meant.
English speakers get confused, because English distinguishes the "happening right now" from the others with progressive tenses. The robot is repairing the ship usually means it's happening right now, while The robot repairs the ship usually indicates something more habitual. (These are not absolute.) So while Duolingo forces you to use Klingon continuous aspect when English uses progressive tense, in reality a sentence like The robot is repairing the ship is really equal to Klingon Duj tI' qoq and not Duj tI'lI' qoq. The robot is repairing the ship is not a bad translation of Duj tI'lI' qoq, but it's really more like The robot makes progress in repairing the ship or The robot goes on repairing the ship.
So basically, if you want to make it explicit that you're talking about a habitual aspect, you'll have to do so with further context. For example, Hoch jaj Duj tI' qoq The robot repairs the ship every day.
Although even that final example could be misunderstood, if you assume Hoch jaj refers to each day of a past period being discussed, rather than each day in general.
tera'ngan: qoqvetlh Qu' HIja'.
Terran: Tell me that robot's task.
tlhIngan: Duj tI' qoq.
Klingon: The robot repairs the ship.
Right, I didn't mean to imply that leaving off the -ta' automatically implies a habitual action; only that my proposed example is one of many possibilities, as David outlined in his 3rd paragraph.
Wow, you guys are fast! :-) But, thank you both very much for the additional helpful information!