What is the correct method of loading certain category records using the "select method"

Hi! Another seemingly trivial question about loading content. More specifically about loading content on multilingual sites. In DataProcessors i often utilize the following method:

ContentObjectRenderer::getRecords();

I do so because i dont want to worry about all of the overlays and let typo3 do its thing…

So - after reading the docs - when loading selected Categories one would assume to do the following:

$cObj->getRecords('sys_category', [
    'uidInList' => '1,2,3',
    'pidInList' => '0',
);

@see select — TypoScript Reference main documentation

Well - this works nicely as long as you are on the default language. But when displaying a site in a translation, an empty array will be returned. You can fix that by doing this:

$cObj->getRecords('sys_category', [
    'uidInList' => '1,2,3',
    'pidInList' => '0',
    'languageField' => '0',
);

So - is this the “correct way”? I dont want to release my extensions with those bugfixes just to introduce another problem if something is configured slightly different.

The documentation has Information about loading records attached to categories but i cant find anything about how to correctly load categories themselves.

To be honest i feel kind of stupid for asking this but still after ~ 12 Years of TYPO3 Development i still feel unsure when it comes to translations. How can i provide an API that will work in any setup?