Is it intended that CMS's object definitions to be different from normal object's ?

Hello, we have observed that, for example, if we define a normal object called ‘TestObject’, with a ‘nonLocalizedTxt’ text field and a ‘localizedTxt’ text field, these two fields would be created as columns in the following tables:

  • O_[companyid]_TestObject.nonLocalizedTxt
  • O_[companyid]_TestObject_l.localizedTxt

However, if we create a CMS content definition called ‘TestContent’ with with a ‘nonLocalizedTxt’ text field and a ‘localizedTxt’ text field, the columns are created as follows:

  • O_[companyid]_TestContent_l.localizedTxt
  • O_[companyid]_TestContent_x.nonLocalizedTxt

We believe that in the original Object definition tables, _x is used to create Custom Field like columns of system objects which could not be modified by users. But for CMS objects they are used to store non-localized fields. Is this change a intended behavior? Thanks.