Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maybe rename private messages? #85

Closed
stasm opened this issue Jan 29, 2018 · 11 comments
Closed

Maybe rename private messages? #85

stasm opened this issue Jan 29, 2018 · 11 comments
Milestone

Comments

@stasm
Copy link
Contributor

stasm commented Jan 29, 2018

We've seen some confusion about how to talk about private messages and their attributes. The message itself is not really private -- tools will still check if it exists. What's private is its interface: the value and any attributes.

Perhaps we could find a better wording to make this easier to understand? in #62 I originally proposed glossary messages; the feedback was that in the world of localization glossaries already have a defined meaning and it's better not to confuse people further.

@stasm
Copy link
Contributor Author

stasm commented Jan 29, 2018

How about vocabulary terms?

We'd then have messages with public attributes and vocabulary terms with private messages.

@flodolo
Copy link
Contributor

flodolo commented Jan 29, 2018

I find vocabulary as confusing as glossary for these messages:

A vocabulary is a set of familiar words within a person's language.

Also, calling one attribute and the other message is not helping. They're both messages, because they're defined the same way. Maybe internal messages with private attributes? In the end, I believe any definition we come up with will need an explanation, and won't be intuitive.

@stasm
Copy link
Contributor Author

stasm commented Jan 29, 2018

Also, calling one attribute and the other message is not helping.

That's not what I meant; I must have not expressed it clearly. Let me try again:

# This is a vocabulary term with an attribute. The attribute is private.
-brand-name = Firefox
    .gender = masculine

# This is a message with an attribute. The attribute is public.
about-app = About { -brand-name }
    .title = About this application

@stasm
Copy link
Contributor Author

stasm commented Jan 29, 2018

My point is that -brand-name is not really a message—you're not supposed to put an entire sentence in it and it doesn't show up in the UI on its own. It's a single word or term to be used in other messages.

@stasm
Copy link
Contributor Author

stasm commented Jan 29, 2018

Or maybe simply terms would work? You'd define terms which can be used in messages.

@stasm
Copy link
Contributor Author

stasm commented Jan 29, 2018

We could also consider calling the expressions although we already use this word in a very specific meaning to describe contents of placeables which evaluate to something.

@flodolo
Copy link
Contributor

flodolo commented Jan 29, 2018

Or maybe simply terms would work? You'd define terms which can be used in messages.

That would make sense to me: terms have private attributes, messages have public attributes.

With the note that, while we could give guidelines on how to use them, we can't really stop people from using an entire sentence.

@stasm
Copy link
Contributor Author

stasm commented Jan 29, 2018

With the note that, while we could give guidelines on how to use them, we can't really stop people from using an entire sentence.

Right. Which is also why I suggested terms rather than words for example. Just in case :)

@stasm stasm added this to the Syntax 0.5 milestone Jan 29, 2018
@stasm
Copy link
Contributor Author

stasm commented Jan 29, 2018

I would like to reach an agreement on this today and make this part of the Syntax 0.5 spec.

@Pike
Copy link
Contributor

Pike commented Jan 29, 2018

I've read up on access specifiers to get some 3rd party definitions of private.

I don't think that the term (pun) is missing the point, the private messages are only accessible from within the MessageContext, but not outside of it. I don't think that they're treatment in static analysis (compare-locales) should impact that.

So I think that we should continue to use the word private to describe the concept. protected might be a tad closer, but that's also an order of magnitude more technical, so I'd rather not go fo r that.

That said.

The difference between Private Messages and Messages is that Messages are public and have public atrributes, but Private Messages ....

What a mouthful. That's why I think Term is actually a good idea.

The difference between Messages and Terms are that Messages and their attributes are exposed to the program, while Terms are private to the context, and their attributes can vary from localization to localization.

Sounds easier to me.

@stasm
Copy link
Contributor Author

stasm commented Jan 29, 2018

Great points, @Pike, thanks! I'll prepare a PR.

stasm added a commit to stasm/fluent that referenced this issue Jan 29, 2018
stasm added a commit to stasm/fluent that referenced this issue Jan 29, 2018
@stasm stasm closed this as completed in #86 Jan 29, 2018
stasm added a commit that referenced this issue Jan 29, 2018
@stasm stasm mentioned this issue Jan 30, 2018
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants