Let's assume you have your own C4D node (for example an object) which you want to translate to an Arnold node. If built-in Arnold nodes are not satisfactory then you have to implement your own Arnold node, but that's a different topic. So in this example let's translate the MyObject object to a polymesh Arnold node.
Create a custom translator inherited from AbstractTranslator. You have to define a type string of the translator which should be the class name. You have to implement a constructor and all abstract methods.
Register the translator. Add a function to the main module of your plugin and handle the MSG_C4DTOA_EXTENSION_START message.
That's it! Your translator will work with the normal and IPR renderer.