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
|
+ ) |
|