Index: translation-string-format.md |
=================================================================== |
new file mode 100644 |
--- /dev/null |
+++ b/translation-string-format.md |
@@ -0,0 +1,67 @@ |
+# Translation string format |
saroyanm
2017/06/01 12:07:25
I think it makes sense to define if this document
juliandoucette
2017/06/07 16:07:39
Acknowledged.
I don't know how translations are d
ire
2017/06/08 11:18:34
It would be really helpful to include some example
juliandoucette
2017/06/08 21:07:51
Acknowledged.
Lisa
2017/06/09 14:14:47
Totally agree with Ire.
saroyanm
2017/06/13 09:48:27
Yes, I also agree with you.
Suggestion: I think e
saroyanm
2017/06/13 09:48:27
I think strings are very similar to what we have,
|
+ |
+`{{identifier[context] content }}` |
+ |
+## Brackets |
saroyanm
2017/06/01 12:07:25
Suggestion: I think "required" can go right next t
juliandoucette
2017/06/07 16:07:39
Acknowledged.
Good point.
|
+ |
+Two curly braces must (required) go at the beginning and end of a translated string in Markdown and HTML format. |
saroyanm
2017/06/01 12:07:26
Suggestion: I think from "must" it's obvious that
juliandoucette
2017/06/07 16:07:39
Acknowledged.
I guess I thought this made it more
ire
2017/06/08 11:18:34
I think, as Manvel suggested later in this doc, th
juliandoucette
2017/06/08 21:07:51
Acknowledged.
|
+ |
+## Identifier |
+ |
+An identifier must (required) immediately follow two opening brackets. |
+ |
+- An identifier may identify only one string on one page |
saroyanm
2017/06/01 12:07:26
Word "may" sound "balanced" for me, let me know if
juliandoucette
2017/06/07 16:07:39
"may" means *can*. "should" means *preferably*. "s
saroyanm
2017/06/13 09:48:27
In this context I understand wording this way:
* M
|
+- If one string occurs more than once on one page in the same context, the same identifier may be used and the string context and content may be omitted |
+- An identifier may contain only lowercase latin letters and dashes |
saroyanm
2017/06/01 12:07:26
Suggestion: We can make this more strong. "should"
juliandoucette
2017/06/07 16:07:38
See comment above.
saroyanm
2017/06/13 09:48:28
same as the comment above.
|
+ |
+### Identifier format |
+ |
+`summary-context-number` |
+ |
+**Summary** |
+: An identifier summary should describe the contents of the string or it’s parent heading in as few words as possible. |
saroyanm
2017/06/01 12:07:26
Note: and example here I think could make things b
juliandoucette
2017/06/07 16:07:39
Acknowledged.
Lisa
2017/06/09 14:14:47
We should include an example. Personally, I'd like
juliandoucette
2017/06/09 15:13:54
You just taught me something :)
|
+ |
+**Context** |
+: An identifier context should describe context in which the string appears in HTML. e.g. {h: heading, p: paragraph, li: list item} |
juliandoucette
2017/05/18 08:54:37
Note: We have had a policy about spelling things o
saroyanm
2017/06/01 12:07:25
I think if we agree with this approach this can be
juliandoucette
2017/06/07 16:07:39
Good point. I think there is a middle ground here.
juliandoucette
2017/06/07 16:16:18
I'm afraid this was unclear. What I mean is that t
saroyanm
2017/06/13 09:48:28
I agree with you. Would be great to come up with t
|
+ |
+**Number** |
+: A number should uniquely identify an identifier among other similar identifiers. e.g. among multiple consecutive list items or paragraphs with the same identifier summary and context. |
juliandoucette
2017/05/18 08:54:37
Note: A number is not necessary if there are not m
saroyanm
2017/06/01 12:07:25
Having number "required" will minimize the effort
juliandoucette
2017/06/07 16:07:38
I agree.
I found it awkward to use and/or not use
|
+ |
+## Context |
saroyanm
2017/06/01 12:07:25
Suggestion: Let's mark optional here rather than i
juliandoucette
2017/06/07 16:07:39
Acknowledged.
|
+ |
+A Context should (optional) immediately follow an identifier. |
+ |
+- Context must be enclosed within square brackets |
+- Context may contain upper and lower case latin letters, dashes, commas, apostrophes, and spaces |
+ |
+### Context format |
+ |
+A Context should (optional) describe the HTML context (e.g. heading / paragraph / list item) and meaning (e.g. “Order” as in “place an order” or “Order” as in “Order of events”) of the string contents. |
+ |
+## Content |
+ |
+- A string’s content must (required) be separated from its identifier and context by one space |
+- A string’s content should (optionally) be separated from it’s closing braces by one space |
saroyanm
2017/06/01 12:07:26
Doesn't it mean that space should also being appli
juliandoucette
2017/06/07 16:07:39
I didn't know that we could put a space before the
ire
2017/06/08 11:18:34
I also prefer the first option. But I think we sho
juliandoucette
2017/06/08 21:07:51
Acknowledged.
|
+- A string must not (required) contain two closing brackets |
+- An English string should (optional) not contain non-ascii characters |
+ |
+## Jinja2 format translation strings |
ire
2017/06/08 11:18:34
NIT: It's a bit confusing here to start talking ab
juliandoucette
2017/06/08 21:07:51
Acknowledged.
|
+ |
+`{{ ”content” | translate(“identifier”, “context”) }}` |
+ |
+Jinja2 (.tmpl) format strings are made up of the same parts (identifier, context, content) in a different format (Jinja2 filter format). The same rules apply to each part, except that the identifier and context must be surrounded by double quotes. |
+ |
+## Fixed tags |
+ |
+`<fix>text</fix>` |
+ |
+Fixed tags may (optional) appear within string contents. They are meant to identify parts of a string that may not be translated in some languages. |
+ |
+- Fix tags must be closed |
+- A fix tag may be manually overriden by translations |
+ |
+### Common uses |
ire
2017/06/08 11:18:34
Can we have a rule on whether the company name and
juliandoucette
2017/06/08 21:07:51
Acknowledged.
I guess "optional" and "common uses
ire
2017/06/09 06:50:11
Yes, you're right. I was referring to the latter t
|
+ |
+- numbers |
+- dates |
+- names (people, brands, products) |
ire
2017/06/09 06:50:11
Also, is there a rule on whether "eyeo", "Adblock
|