The site will have these features:
User registration. Two distinct types of users with different landing pages, functionality, etc. (not just different subscription levels).
User profiles with many custom fields. The profiles would be different for each user type.
Create/Edit/Browse/RSVP for Events - an Event would have many custom fields, so many that using an existing calendar system might not be possible.
Create/Edit/Browse Activities - an Activity would be a custom object with many fields (title, description, address, etc.)
Be able to Rate and Review each Event, Activity, or user.
Easily retrieve and display Events/Activities/Reviews that a user has attended or created in the system.
One-time purchases and recurring monthly subscriptions. This should be automated and apply the appropriate "credits" to their account each month after their card is charged. This would require supporting an offsite credit card info storage system since we don't want to store that info ourselves.
Fully and easily translatable. Many of the users will not understand English well so we need to be able to provide translations for each string on the backend (no need for enduser-supplied translations). We should also be able to present entirely different content depending on their preferred language - e.g. users preferring Japanese will see content about Japan.
What ways are there of creating such a site without programming? Using CMS software is one way, but are there others? And if using a CMS, which would be flexible enough to support creating a site like this without custom programming? I'm quite sure existing modules or addons wouldn't completely fill my needs, so being able to create and manipulate custom objects is crucial.
Thanks in advance for any advice.
FYI: Related questions I found. These deal with simpler types of sites though: