Bart van Ingen Schenau has some good advice, but I'd like to offer some additional advice.
Don't universally avoid naming a class and property the same, but definitely question it. Consider all of the properties together as one cohesive concept: name, language, and meaning. Rather than renaming the property, perhaps rename the class. This is more than a name.
Instead, pick a word or short phrase that describes the concept of the combination of a name, its meaning, and the language (or culture) for the name. For example, typically the combination of a word or phrase along with its meaning is called a "definition". The class could be called NameDefinition
, which has a name
property. The addition of the word "Definition" helps differentiate the type from the data in the type, while also communicating to consumers of this class that it is more than a simple string.
Name
represent? It's hard to tell even with the properties specified.