1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>highlight_fluent.ftl</title>
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Fluent) - Theme (Breeze Dark)"/>
</head><body style="background-color:#232629;color:#cfcfc2"><pre>
<span style="color:#a43340">### File wide comment, for reference see https://projectfluent.org</span>
<span style="color:#a43340">### And for a EBNF-Syntax, see https://github.com/projectfluent/fluent/blob/master/spec/fluent.ebnf</span>
<span style="color:#a43340">## Section comment: Simple texts</span>
<span style="color:#7a7c7d"># identifier = matched word</span>
<span style="font-weight:bold">hello-world</span> = <span style="color:#f44f4f">Hello World</span>
<span style="color:#7a7c7d"># multiline text</span>
<span style="font-weight:bold">multiline</span> = <span style="color:#f44f4f">Some text on the first line</span>
<span style="color:#f44f4f"> And more text on the next line</span>
<span style="color:#f44f4f"> One could even go further</span>
<span style="color:#7a7c7d"># block text</span>
<span style="font-weight:bold">block</span> =
<span style="color:#f44f4f"> No content on first line</span>
<span style="color:#f44f4f"> rest is like multiline</span>
<span style="color:#a43340">## Placeables, insert text from variables etc.</span>
<span style="font-weight:bold">variable-placeable</span> = <span style="color:#f44f4f">We currently have </span><span style="color:#3daee9">{ </span><span style="color:#27aeae">$users</span><span style="color:#3daee9"> }</span><span style="color:#f44f4f"> users</span>
<span style="font-weight:bold">stacked-placeable</span> = <span style="color:#f44f4f">More </span><span style="color:#3daee9">{{</span><span style="color:#f44f4f">"Placeables"</span><span style="color:#3daee9">}}</span>
<span style="color:#7a7c7d"># Term, used only in other texts, not final translation string</span>
<span style="font-weight:bold">-name</span> = <span style="color:#f44f4f">Fluent</span>
<span style="font-weight:bold">about</span> = <span style="color:#3daee9">{ -name }</span><span style="color:#f44f4f"> is great</span>
<span style="color:#7a7c7d"># Term with parameters</span>
<span style="font-weight:bold">-special-term</span> = <span style="color:#f44f4f">Wrapper around </span><span style="color:#3daee9">{ </span><span style="color:#27aeae">$parameter</span><span style="color:#3daee9"> }</span>
<span style="font-weight:bold">using-wrapper</span> = <span style="color:#f44f4f">Wrapping </span><span style="color:#3daee9">{ </span><span style="color:#8e44ad">-special-term(parameter: </span><span style="color:#f44f4f">"stuff"</span><span style="color:#8e44ad">)</span><span style="color:#3daee9"> }</span>
<span style="font-weight:bold">placeable-with-special-character</span> = <span style="color:#f44f4f">Using a </span><span style="color:#3daee9">{</span><span style="color:#f44f4f">"{ and \U01F91A or \\"</span><span style="color:#3daee9">}</span>
<span style="font-weight:bold">builtin-number</span> = <span style="color:#f44f4f">Time elapsed: </span><span style="color:#3daee9">{ </span><span style="color:#8e44ad">NUMBER(</span><span style="color:#27aeae">$duration</span><span style="color:#8e44ad">, maximumFractionDigits: </span><span style="color:#f67400">0</span><span style="color:#8e44ad">)</span><span style="color:#3daee9"> }</span><span style="color:#f44f4f">s.</span>
<span style="font-weight:bold">builtin-date</span> = <span style="color:#f44f4f">Last checked: </span><span style="color:#3daee9">{ </span><span style="color:#8e44ad">DATETIME(</span><span style="color:#27aeae">$lastChecked</span><span style="color:#8e44ad">, day: </span><span style="color:#f44f4f">"numeric"</span><span style="color:#8e44ad">, month: </span><span style="color:#f44f4f">"long"</span><span style="color:#8e44ad">)</span><span style="color:#3daee9"> }</span><span style="color:#f44f4f">.</span>
<span style="color:#a43340">## Selectors, different options for different types of numbers</span>
<span style="color:#7a7c7d"># by variable</span>
<span style="font-weight:bold">emails</span> =
<span style="color:#f44f4f"> </span><span style="color:#3daee9">{ </span><span style="color:#27aeae">$unreadEmails</span><span style="color:#3daee9"> -></span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">[one]</span><span style="color:#f44f4f"> You have one unread email.</span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">*[other]</span><span style="color:#f44f4f"> You have </span><span style="color:#3daee9">{ </span><span style="color:#27aeae">$unreadEmails</span><span style="color:#3daee9"> }</span><span style="color:#f44f4f"> unread emails.</span>
<span style="color:#3daee9"> }</span>
<span style="color:#7a7c7d"># by function</span>
<span style="font-weight:bold">your-score</span> =
<span style="color:#f44f4f"> </span><span style="color:#3daee9">{ </span><span style="color:#8e44ad">NUMBER(</span><span style="color:#27aeae">$score</span><span style="color:#8e44ad">, minimumFractionDigits: </span><span style="color:#f67400">1</span><span style="color:#8e44ad">)</span><span style="color:#3daee9"> -></span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">[0.0]</span><span style="color:#f44f4f"> You scored zero points. What happened?</span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">*[other]</span><span style="color:#f44f4f"> You scored </span><span style="color:#3daee9">{ </span><span style="color:#8e44ad">NUMBER(</span><span style="color:#27aeae">$score</span><span style="color:#8e44ad">, minimumFractionDigits: </span><span style="color:#f67400">1</span><span style="color:#8e44ad">)</span><span style="color:#3daee9"> }</span><span style="color:#f44f4f"> points.</span>
<span style="color:#3daee9"> }</span>
<span style="color:#7a7c7d"># with keywords</span>
<span style="font-weight:bold">your-rank</span> = <span style="color:#3daee9">{ </span><span style="color:#8e44ad">NUMBER(</span><span style="color:#27aeae">$pos</span><span style="color:#8e44ad">, type: </span><span style="color:#f44f4f">"ordinal"</span><span style="color:#8e44ad">)</span><span style="color:#3daee9"> -></span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">[1]</span><span style="color:#f44f4f"> You finished first!</span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">[one]</span><span style="color:#f44f4f"> You finished </span><span style="color:#3daee9">{</span><span style="color:#27aeae">$pos</span><span style="color:#3daee9">}</span><span style="color:#f44f4f">st</span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">[two]</span><span style="color:#f44f4f"> You finished </span><span style="color:#3daee9">{</span><span style="color:#27aeae">$pos</span><span style="color:#3daee9">}</span><span style="color:#f44f4f">nd</span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">[few]</span><span style="color:#f44f4f"> You finished </span><span style="color:#3daee9">{</span><span style="color:#27aeae">$pos</span><span style="color:#3daee9">}</span><span style="color:#f44f4f">rd</span>
<span style="color:#3daee9"> </span><span style="font-weight:bold">*[other]</span><span style="color:#f44f4f"> You finished </span><span style="color:#3daee9">{</span><span style="color:#27aeae">$pos</span><span style="color:#3daee9">}</span><span style="color:#f44f4f">th</span>
<span style="color:#3daee9">}</span>
<span style="color:#a43340">## Attributes</span>
<span style="font-weight:bold">login-input</span> = <span style="color:#f44f4f">Predefined value</span>
<span style="color:#f44f4f"> </span><span style="font-weight:bold">.placeholder</span> = <span style="color:#f44f4f">email@example.com</span>
<span style="color:#f44f4f"> </span><span style="font-weight:bold">.aria-label</span> = <span style="color:#f44f4f">Login input value</span>
<span style="color:#f44f4f"> </span><span style="font-weight:bold">.title</span> = <span style="color:#f44f4f">Type your login email</span>
<span style="color:#7a7c7d"># accessible via .</span>
<span style="font-weight:bold">login-placeholder</span> = <span style="color:#3daee9">{login-input.placeholder}</span>
<span style="color:#a43340">## Faulty code, no gurantees for sense of the end of errors</span>
<span style="font-weight:bold">faulty-quote</span> = <span style="color:#f44f4f">Won't work </span><span style="color:#3daee9">{</span><span style="color:#f44f4f">"\"}</span>
<span style="color:#3daee9"> still-inside</span><span style="color:#da4453;text-decoration:underline">\</span>
<span style="color:#f44f4f"> </span><span style="color:#3daee9">{</span><span style="color:#f44f4f">"lonely \\ </span><span style="color:#da4453;text-decoration:underline">\ "}</span>
<span style="color:#3daee9">}</span>
<span style="font-weight:bold">disallowed-identifier</span><span style="color:#da4453;text-decoration:underline"> characters</span>
<span style="font-weight:bold">disallowed-character</span><span style="color:#da4453;text-decoration:underline">$</span>
<span style="color:#7a7c7d"># Hilight only at the end of the line, not visible since err only visible on same line</span>
<span style="font-weight:bold">broken-function</span> = <span style="color:#3daee9">{</span><span style="color:#8e44ad">fn(</span>
<span style="color:#3daee9"> </span><span style="color:#8e44ad">fn(smth:</span><span style="color:#f67400">123</span><span style="color:#8e44ad">, </span><span style="color:#f67400">0</span><span style="color:#8e44ad">, </span><span style="color:#3daee9">{</span><span style="color:#da4453;text-decoration:underline">)</span>
<span style="color:#3daee9"> </span><span style="color:#8e44ad">fn(noth</span><span style="color:#da4453;text-decoration:underline">!ng:3)</span>
<span style="color:#3daee9"> </span><span style="color:#8e44ad">fn(</span><span style="color:#da4453;text-decoration:underline">\)</span>
<span style="color:#3daee9">}</span>
<span style="color:#7a7c7d"># Same for open ended string and wron unicode characters</span>
<span style="font-weight:bold">broken-string</span> = <span style="color:#3daee9">{</span>
<span style="color:#3daee9"> </span><span style="color:#f44f4f">"</span>
<span style="color:#3daee9"> </span><span style="color:#f44f4f">"</span><span style="color:#da4453;text-decoration:underline">\u923"</span>
<span style="color:#3daee9"> </span><span style="color:#f44f4f">"</span><span style="color:#da4453;text-decoration:underline">\U92345"</span>
<span style="color:#3daee9"> </span><span style="color:#f44f4f">"</span><span style="color:#da4453;text-decoration:underline">\Ubcdefg"</span>
<span style="color:#3daee9">}</span>
</pre></body></html>
|