CONTENIDO has a general structure of clients, languages, categories and articles to store content.
One CONTENIDO system can have multiple clients, which can have multiple languages and so on.
A client usually represents one website that is served by the CONTENIDO system. This website can be accessible in multiple languages and one CONTENIDO system can manage more than one website.
Every client has to have at least one language, though many have multiple. The example client that comes with CONTENIDO has German and English as its languages for example. This is useful to categorize content based on the user's language, so that German users will always see the German version of your article. The language applies to a lot of other things too, most notably the module translation.
Every language has categories to sort articles. Categories themselves are a tree structure so there is one or more root category and all the other categories are descendants of it or them.
Categories only exist together with a language, although you can copy one category to another language by "synchronizing" them.
The article is the smallest structure. The actual content that is stored in the Content types is always linked to an article.
Since articles are also language dependent, you can also copy them into another language for translating purposes.
The class cApiArticleLanguage includes a lazy loading functionality to receive the content of an article because of performance reason.