| 
Commits:
ce6c08c3
 by Henry Wilkes   at 2024-03-14T17:44:43+00:00 
 fixup! Bug 2176: Rebrand Firefox to TorBrowser
Bug 42203: Migrate about dialog strings to Fluent.
ef8821c9
 by Henry Wilkes   at 2024-03-14T17:44:44+00:00 
 fixup! Add TorStrings module for localization
Bug 42203: Migrate about dialog strings to Fluent.
eb190fbe
 by Henry Wilkes   at 2024-03-14T17:45:50+00:00 
 fixup! Tor Browser strings
Bug 42203: Migrate about dialog strings to Fluent.
Also renew the trademark description:
+ Use double-quotes rather than ASCII single quotes.
+ Capitalize "The" and include it as part of the trademark name and the
  corporation name.
+ Add a note to translators to not translate the trademark names. The
  previous translations often translated "Onion Logo" even though it is
  a trademark name.
52233769
 by Henry Wilkes   at 2024-03-14T17:45:57+00:00 
 fixup! Tor Browser localization migration scripts.
Bug 42203: Migrate about dialog strings to Fluent.
We do not migrate the trademark description since the en-US string
changed.
 
5 changed files:
Changes:
browser/base/content/aboutDialog.xhtml
 
| ... | ... | @@ -9,11 +9,6 @@ |  
| 9 | 9 |  <?xml-stylesheet href="" type="text/css"?>
 |  
| 10 | 10 |  <?xml-stylesheet href="" type="text/css"?>
 |  
| 11 | 11 |  
 |  
| 12 |  | -<!-- We need to include the localization DTDs until we migrate to Fluent -->
 |  
| 13 |  | -<!DOCTYPE window [
 |  
| 14 |  | -#include browser-doctype.inc
 |  
| 15 |  | -]>
 |  
| 16 |  | -
 |  
| 17 | 12 |  <window xmlns:html="http://www.w3.org/1999/xhtml"
 |  
| 18 | 13 |          xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
 |  
| 19 | 14 |          id="aboutDialog"
 |  
| ... | ... | @@ -37,6 +32,7 @@ |  
| 37 | 32 |      <html:link rel="localization" href="branding/brand.ftl"/>
 |  
| 38 | 33 |      <html:link rel="localization" href="browser/aboutDialog.ftl"/>
 |  
| 39 | 34 |      <html:link rel="localization" href="browser/base-browser.ftl"/>
 |  
|  | 35 | +    <html:link rel="localization" href="browser/tor-browser.ftl"/>
 |  
| 40 | 36 |    </linkset>
 |  
| 41 | 37 |  
 |  
| 42 | 38 |    <html:div id="aboutDialogContainer">
 |  
| ... | ... | @@ -135,35 +131,26 @@ |  
| 135 | 131 |              </description>
 |  
| 136 | 132 |            </vbox>
 |  
| 137 | 133 |            <!-- Keep communityDesc and contributeDesc to avoid JS errors trying to hide them -->
 |  
| 138 |  | -          <description class="text-blurb" id="communityDesc" data-l10n-id="community-2" hidden="true"></description>
 |  
| 139 |  | -          <description class="text-blurb" id="contributeDesc" data-l10n-id="helpus" hidden="true"></description>
 |  
| 140 |  | -          <description class="text-blurb" id="projectDesc">
 |  
| 141 |  | -            &project.start;
 |  
| 142 |  | -            <label is="text-link" href="https://www.torproject.org/">
 |  
| 143 |  | -              &project.tpoLink;
 |  
| 144 |  | -            </label>&project.end;
 |  
|  | 134 | +          <description class="text-blurb" id="communityDesc" hidden="true"></description>
 |  
|  | 135 | +          <description class="text-blurb" id="contributeDesc" hidden="true"></description>
 |  
|  | 136 | +          <description class="text-blurb" id="projectDesc" data-l10n-id="about-dialog-tor-project">
 |  
|  | 137 | +            <label is="text-link" href="https://www.torproject.org/" data-l10n-name="project-link"></label>
 |  
| 145 | 138 |            </description>
 |  
| 146 |  | -          <description class="text-blurb" id="helpDesc">
 |  
| 147 |  | -            &help.start;
 |  
| 148 |  | -            <label is="text-link" href="https://donate.torproject.org/">
 |  
| 149 |  | -              &help.donateLink;
 |  
| 150 |  | -            </label>
 |  
| 151 |  | -            &help.or;
 |  
| 152 |  | -            <label is="text-link" href="https://community.torproject.org/">
 |  
| 153 |  | -              &help.getInvolvedLink;
 |  
| 154 |  | -            </label>&help.end;
 |  
|  | 139 | +          <description class="text-blurb" id="helpDesc" data-l10n-id="about-dialog-help-out">
 |  
|  | 140 | +            <label is="text-link" href="https://donate.torproject.org/" data-l10n-name="donate-link"></label>
 |  
|  | 141 | +            <label is="text-link" href="https://community.torproject.org/" data-l10n-name="community-link"></label>
 |  
| 155 | 142 |            </description>
 |  
| 156 | 143 |          </vbox>
 |  
| 157 | 144 |        </vbox>
 |  
| 158 | 145 |      </hbox>
 |  
| 159 | 146 |      <vbox id="bottomBox">
 |  
| 160 | 147 |        <hbox id="newBottom" pack="center" position="1">
 |  
| 161 |  | -        <label is="text-link" class="bottom-link" href="https://support.torproject.org/">&bottomLinks.questions;</label>
 |  
| 162 |  | -        <label is="text-link" class="bottom-link" href="https://community.torproject.org/relay/">&bottomLinks.grow;</label>
 |  
| 163 |  | -        <label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license">&bottomLinks.license;</label>
 |  
|  | 148 | +        <label is="text-link" class="bottom-link" href="https://support.torproject.org/" data-l10n-id="about-dialog-questions-link"></label>
 |  
|  | 149 | +        <label is="text-link" class="bottom-link" href="https://community.torproject.org/relay/" data-l10n-id="about-dialog-grow-tor-network-link"></label>
 |  
|  | 150 | +        <label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license" data-l10n-id="about-dialog-browser-license-link"></label>
 |  
| 164 | 151 |        </hbox>
 |  
| 165 | 152 |        <description id="trademark" data-l10n-id="trademarkInfo"></description>
 |  
| 166 |  | -      <description id="trademarkTor">&tor.TrademarkStatement;</description>
 |  
|  | 153 | +      <description id="trademarkTor" data-l10n-id="about-dialog-trademark-statement"></description>
 |  
| 167 | 154 |      </vbox>
 |  
| 168 | 155 |    </html:div>
 |  
| 169 | 156 |  
 |  browser/base/content/browser-doctype.inc
 
 
| ... | ... | @@ -2,5 +2,3 @@ |  
| 2 | 2 |  %brandDTD;
 |  
| 3 | 3 |  <!ENTITY % torbuttonDTD SYSTEM "chrome://torbutton/locale/torbutton.dtd">
 |  
| 4 | 4 |  %torbuttonDTD; |  
| 5 |  | -<!ENTITY % aboutDialogDTD SYSTEM "chrome://torbutton/locale/aboutDialog.dtd">
 |  
| 6 |  | -%aboutDialogDTD; |  browser/locales/en-US/browser/tor-browser.ftl
 
 
| ... | ... | @@ -304,3 +304,25 @@ user-provide-bridge-dialog-next-button = |  
| 304 | 304 |  # The "aria-label" should use the same text, but include some ending punctuation to separate it from the sentence that follows. This is used for screen reader users.
 |  
| 305 | 305 |  built-in-dialog-current-bridge-label = Current bridge
 |  
| 306 | 306 |      .aria-label = Current bridge.
 |  
|  | 307 | +
 |  
|  | 308 | +## About Tor Browser dialog.
 |  
|  | 309 | +
 |  
|  | 310 | +# '<label data-l10n-name="project-link">' and '</label>' should wrap the link text for the Tor Project, and will link to the Tor Project web page.
 |  
|  | 311 | +# -brand-short-name refers to 'Tor Browser', localized.
 |  
|  | 312 | +# -vendor-short-name refers to 'Tor Project', localized.
 |  
|  | 313 | +about-dialog-tor-project =  { -brand-short-name } is developed by <label data-l10n-name="project-link">the { -vendor-short-name }</label>, a nonprofit working to defend your privacy and freedom online.
 |  
|  | 314 | +
 |  
|  | 315 | +# '<label data-l10n-name="donate-link">' and '</label>' should wrap the link text for donating to Tor Project, and will link to the Tor Project donation page.
 |  
|  | 316 | +# '<label data-l10n-name="community-link">' and '</label>' should wrap the link text for getting involved with Tor Project, and will link to the Tor Project community page.
 |  
|  | 317 | +about-dialog-help-out = Want to help? <label data-l10n-name="donate-link">Donate</label> or <label data-l10n-name="community-link">get involved</label>!
 |  
|  | 318 | +
 |  
|  | 319 | +# Link text for the Tor Project support page.
 |  
|  | 320 | +about-dialog-questions-link = Questions?
 |  
|  | 321 | +# Link text for the Tor Project page for Tor Network relay operators.
 |  
|  | 322 | +about-dialog-grow-tor-network-link = Help the Tor Network Grow!
 |  
|  | 323 | +# Link text for the Tor Browser license page (about:license).
 |  
|  | 324 | +about-dialog-browser-license-link = Licensing Information
 |  
|  | 325 | +
 |  
|  | 326 | +# "Tor" and "The Onion Logo" are trademark names, so should not be translated (not including the quote marks, which can be localized).
 |  
|  | 327 | +# "The Tor Project, Inc." is an organisation name.
 |  
|  | 328 | +about-dialog-trademark-statement = “Tor” and “The Onion Logo” are registered trademarks of The Tor Project, Inc. |  toolkit/torbutton/chrome/locale/en-US/aboutDialog.dtd
deleted
 
 
| 1 |  | -<!-- Copyright (c) 2022, The Tor Project, Inc.
 |  
| 2 |  | -   - This Source Code Form is subject to the terms of the Mozilla Public
 |  
| 3 |  | -   - License, v. 2.0. If a copy of the MPL was not distributed with this
 |  
| 4 |  | -   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 |  
| 5 |  | -
 |  
| 6 |  | -<!ENTITY project.start           "&brandShortName; is developed by ">
 |  
| 7 |  | -<!-- LOCALIZATION NOTE (project.tpoLink): This is a link title that links to https://www.torproject.org -->
 |  
| 8 |  | -<!ENTITY project.tpoLink         "the &vendorShortName;">
 |  
| 9 |  | -<!ENTITY project.end             ", a nonprofit working to defend your privacy and freedom online.">
 |  
| 10 |  | -
 |  
| 11 |  | -<!ENTITY help.start              "Want to help? ">
 |  
| 12 |  | -<!-- LOCALIZATION NOTE (help.donate): This is a link title that links to https://donate.torproject.org/ -->
 |  
| 13 |  | -<!ENTITY help.donateLink         "Donate">
 |  
| 14 |  | -<!ENTITY help.or                 " or ">
 |  
| 15 |  | -<!-- LOCALIZATION NOTE (help.getInvolvedLink): This is a link title that links to https://community.torproject.org/ -->
 |  
| 16 |  | -<!ENTITY help.getInvolvedLink    "get involved">
 |  
| 17 |  | -<!ENTITY help.end                "!">
 |  
| 18 |  | -<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to https://support.torproject.org/ -->
 |  
| 19 |  | -<!ENTITY bottomLinks.questions   "Questions?">
 |  
| 20 |  | -<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to https://community.torproject.org/relay/ -->
 |  
| 21 |  | -<!ENTITY bottomLinks.grow        "Help the Tor Network Grow!">
 |  
| 22 |  | -<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to about:license -->
 |  
| 23 |  | -<!ENTITY bottomLinks.license  "Licensing Information">
 |  
| 24 |  | -<!ENTITY tor.TrademarkStatement   "'Tor' and the 'Onion Logo' are registered trademarks of the Tor Project, Inc."> |  tools/torbrowser/l10n/migrations/bug-42203-about-dialog.py
 
 
|  | 1 | +import fluent.syntax.ast as FTL
 |  
|  | 2 | +from fluent.migrate.helpers import TERM_REFERENCE, transforms_from
 |  
|  | 3 | +from fluent.migrate.transforms import CONCAT, COPY, REPLACE
 |  
|  | 4 | +
 |  
|  | 5 | +
 |  
|  | 6 | +def migrate(ctx):
 |  
|  | 7 | +    legacy_path = "aboutDialog.dtd"
 |  
|  | 8 | +    ctx.add_transforms(
 |  
|  | 9 | +        "tor-browser.ftl",
 |  
|  | 10 | +        "tor-browser.ftl",
 |  
|  | 11 | +        transforms_from(
 |  
|  | 12 | +            """
 |  
|  | 13 | +about-dialog-questions-link = { COPY(path, "bottomLinks.questions") }
 |  
|  | 14 | +about-dialog-grow-tor-network-link = { COPY(path, "bottomLinks.grow") }
 |  
|  | 15 | +about-dialog-browser-license-link = { COPY(path, "bottomLinks.license") }
 |  
|  | 16 | +""",
 |  
|  | 17 | +            path=legacy_path,
 |  
|  | 18 | +        )
 |  
|  | 19 | +        + [
 |  
|  | 20 | +            # Concatenate as
 |  
|  | 21 | +            #  &project.start;
 |  
|  | 22 | +            #  <label data-l10n-name="project-link">&project.tpoLink;</a>
 |  
|  | 23 | +            #  &project.end;
 |  
|  | 24 | +            #
 |  
|  | 25 | +            # And replace any occurrence of "&brandShortName;" and
 |  
|  | 26 | +            # "&vendorShortName;" with "-brand-short-name" and
 |  
|  | 27 | +            # "-vendor-short-name", wherever they may appear.
 |  
|  | 28 | +            FTL.Message(
 |  
|  | 29 | +                id=FTL.Identifier("about-dialog-tor-project"),
 |  
|  | 30 | +                value=CONCAT(
 |  
|  | 31 | +                    REPLACE(
 |  
|  | 32 | +                        legacy_path,
 |  
|  | 33 | +                        "project.start",
 |  
|  | 34 | +                        {
 |  
|  | 35 | +                            "&brandShortName;": TERM_REFERENCE("brand-short-name"),
 |  
|  | 36 | +                            "&vendorShortName;": TERM_REFERENCE("vendor-short-name"),
 |  
|  | 37 | +                        },
 |  
|  | 38 | +                    ),
 |  
|  | 39 | +                    FTL.TextElement('<label data-l10n-name="project-link">'),
 |  
|  | 40 | +                    REPLACE(
 |  
|  | 41 | +                        legacy_path,
 |  
|  | 42 | +                        "project.tpoLink",
 |  
|  | 43 | +                        {
 |  
|  | 44 | +                            "&brandShortName;": TERM_REFERENCE("brand-short-name"),
 |  
|  | 45 | +                            "&vendorShortName;": TERM_REFERENCE("vendor-short-name"),
 |  
|  | 46 | +                        },
 |  
|  | 47 | +                    ),
 |  
|  | 48 | +                    FTL.TextElement("</label>"),
 |  
|  | 49 | +                    REPLACE(
 |  
|  | 50 | +                        legacy_path,
 |  
|  | 51 | +                        "project.end",
 |  
|  | 52 | +                        {
 |  
|  | 53 | +                            "&brandShortName;": TERM_REFERENCE("brand-short-name"),
 |  
|  | 54 | +                            "&vendorShortName;": TERM_REFERENCE("vendor-short-name"),
 |  
|  | 55 | +                        },
 |  
|  | 56 | +                    ),
 |  
|  | 57 | +                ),
 |  
|  | 58 | +            ),
 |  
|  | 59 | +            # Concatenate with two link labels.
 |  
|  | 60 | +            FTL.Message(
 |  
|  | 61 | +                id=FTL.Identifier("about-dialog-help-out"),
 |  
|  | 62 | +                value=CONCAT(
 |  
|  | 63 | +                    COPY(legacy_path, "help.start"),
 |  
|  | 64 | +                    FTL.TextElement('<label data-l10n-name="donate-link">'),
 |  
|  | 65 | +                    COPY(legacy_path, "help.donateLink"),
 |  
|  | 66 | +                    FTL.TextElement("</label>"),
 |  
|  | 67 | +                    COPY(legacy_path, "help.or"),
 |  
|  | 68 | +                    FTL.TextElement('<label data-l10n-name="community-link">'),
 |  
|  | 69 | +                    COPY(legacy_path, "help.getInvolvedLink"),
 |  
|  | 70 | +                    FTL.TextElement("</label>"),
 |  
|  | 71 | +                    COPY(legacy_path, "help.end"),
 |  
|  | 72 | +                ),
 |  
|  | 73 | +            ),
 |  
|  | 74 | +        ],
 |  
|  | 75 | +    ) |  
 |