"Properties" versus "settings"
Solution 1:
All of this is in the context of computer user interfaces, I can't really comment on the more general meaning.
Properties are attributes of a thing that are somehow inherent to it. Examples of properties are:
- the amount of memory in your computer
- the type of processor/CPU in your computer
- the size of a hard disk in your computer
- the size of a given file
You can't usually change properties directly. You can open the computer and add more memory, but you can't just pull a "memory" slider to the right to add more memory.
Settings are attributes that can easily be modified. Examples of settings are:
- the background color and/or image of your desktop
- the format used to display the time of day
- the location where your browser stores downloaded files
Note that there is a separate meaning of this in the world of object-oriented programming (a part of software development) where a property is any attribute of an object, no matter if it's changeable or not. But even here the terminology can vary a lot between languages.
Solution 2:
Every software developer will say, that "computer" object has neither properties (except for some software languages, where property is a method with special syntax) nor settings.
Settings is more of a set of external data, that specifies the behaviour of computer entity - application as a whole or some submodule in it. In UI they are frequently refered as options or preferences.
Properties (if we are not talking about special syntax I mentioned earlier) - I can't say I hear this word applied to computer entities often. I'd say it can be applied to a special kind of settings, that are stored in external files on disk (called property files or configuration files).
Solution 3:
When talking about objects (instances of classes in an object-oriented language) you should use the word properties.
Settings apply more properly to applications and environments; they are changes in configuration. A setting may be controlled entirely by a single property of a single object in some cases, but the object itself doesn't have a setting, it has a property.
(There is a little room for confusion here, since the act of changing a property is often accomplished using a method called a setter, and in many languages the setter is named by convention setPropertyName(). And it doesn't help at all that Java uses *.properties as the default name for an application's configuration file.)