Bug 1567070 - Migrate about:rights to Fluent. r=mkmelin

This commit is contained in:
Khushil Mistry 2020-05-31 14:23:30 +03:00
Родитель 1caf86b49b
Коммит a868474e56
7 изменённых файлов: 258 добавлений и 119 удалений

Просмотреть файл

@ -2,68 +2,75 @@
<!DOCTYPE html [
<!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % aboutRightsDTD SYSTEM "chrome://messenger/locale/aboutRights.dtd">
%aboutRightsDTD;
]>
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Security-Policy" content="default-src chrome:"/>
<title>&rights.title;</title>
<link rel="stylesheet" href="chrome://global/skin/about.css" type="text/css"/>
<meta http-equiv="Content-Security-Policy" content="default-src chrome:; object-src 'none'" />
<title data-l10n-id="rights-title"></title>
<link rel="stylesheet" href="chrome://global/skin/in-content/info-pages.css" type="text/css"/>
<link rel="stylesheet" href="chrome://global/skin/aboutRights.css" type="text/css"/>
<link rel="localization" href="branding/brand.ftl"/>
<link rel="localization" href="messenger/aboutRights.ftl"/>
</head>
<body id="your-rights" dir="&rights.locale-direction;" class="aboutPageWideContainer">
<body id="your-rights">
<div class="container">
<div class="rights-header">
<div>
<h1 data-l10n-id="rights-title"></h1>
<h1>&rights.intro-header;</h1>
<p>&rights.intro;</p>
<p data-l10n-id="rights-intro"></p>
</div>
</div>
<ul>
<li>&rights.intro-point1a;<a href="https://www.mozilla.org/MPL/">&rights.intro-point1b;</a>&rights.intro-point1c;</li>
#ifdef MOZ_OFFICIAL_BRANDING
# Point 2 discusses Mozilla trademarks, and isn't needed when the build is unbranded.
# Point 3 discusses privacy policy, unbranded builds get a placeholder (for the vendor to replace)
<li>&rights.intro-point2a;<a href="https://www.mozilla.org/foundation/trademarks/policy.html">&rights.intro-point2b;</a>&rights.intro-point2c;</li>
<li>&rights.intro-point3a;<a href="https://www.mozilla.org/legal/privacy/">&rights.intro-point3b;</a>&rights.intro-point3c;</li>
<li>&rights.intro-point4a;<a href="about:rights#webservices" id="showWebServices">&rights.intro-point4b;</a>&rights.intro-point4c;</li>
#else
<li>&rights.intro-point3-unbranded;</li>
<li>&rights.intro-point4a-unbranded;<a href="about:rights#webservices" id="showWebServices">&rights.intro-point4b-unbranded;</a>&rights.intro-point4c-unbranded;</li>
#endif
<li data-l10n-id="rights-intro-point-1"><a href="http://www.mozilla.org/MPL/" data-l10n-name="mozilla-public-license-link"></a></li>
<!-- Point 2 discusses Mozilla trademarks, and isn't needed when the build is unbranded.
- Point 4 discusses privacy policy, unbranded builds get a placeholder (for the vendor to replace)
- Point 5 discusses web service terms, unbranded builds gets a placeholder (for the vendor to replace) -->
<li data-l10n-id="rights-intro-point-2"><a href="http://www.mozilla.org/foundation/trademarks/policy.html" data-l10n-name="mozilla-trademarks-link"></a></li>
<li data-l10n-id="rights-intro-point-3"></li>
<li data-l10n-id="rights-intro-point-4"><a href="https://www.mozilla.org/legal/privacy/firefox.html" data-l10n-name="mozilla-privacy-policy-link"></a></li>
<li data-l10n-id="rights-intro-point-5"><a href="about:rights#webservices" id="showWebServices" data-l10n-name="mozilla-service-terms-link"></a></li>
<li data-l10n-id="rights-intro-point-6"></li>
</ul>
<div id="webservices-container">
<a name="webservices"/>
<h3>&rights.webservices-header;</h3>
<h3 data-l10n-id="rights-webservices-header"></h3>
#ifdef MOZ_OFFICIAL_BRANDING
<p>&rights.webservices-a;<code>&rights.webservices-b;</code>&rights.webservices-c;<code>&rights.webservices-d;</code>&rights.webservices-e;</p>
#else
<p>&rights.webservices-unbranded;</p>
#endif
<p data-l10n-id="rights-webservices"><a href="about:rights#disabling-webservices" id="showDisablingWebServices" data-l10n-name="mozilla-disable-service-link"></a></p>
<ol>
#ifdef MOZ_OFFICIAL_BRANDING
# Terms only apply to official builds, unbranded builds get a placeholder.
<li>&rights.webservices-term1;</li>
<li>&rights.webservices-term2;</li>
<li><strong>&rights.webservices-term3;</strong></li>
<li><strong>&rights.webservices-term4;</strong></li>
<li>&rights.webservices-term5;</li>
<li>&rights.webservices-term6;</li>
#else
<li>&rights.webservices-term1-unbranded;</li>
#endif
</ol>
<div id="disabling-webservices-container" style="margin-left:40px;">
<a name="disabling-webservices"/>
<p data-l10n-id="rights-locationawarebrowsing"></p>
<ul>
<li data-l10n-id="rights-locationawarebrowsing-term-1"></li>
<li data-l10n-id="rights-locationawarebrowsing-term-2"></li>
<li data-l10n-id="rights-locationawarebrowsing-term-3"></li>
<li data-l10n-id="rights-locationawarebrowsing-term-4"></li>
</ul>
</div>
<ol>
<!-- Terms only apply to official builds, unbranded builds get a placeholder. -->
<li data-l10n-id="rights-webservices-term-1"></li>
<li data-l10n-id="rights-webservices-term-2"></li>
<li data-l10n-id="rights-webservices-term-3"></li>
<li data-l10n-id="rights-webservices-term-4"></li>
<li data-l10n-id="rights-webservices-term-5"></li>
<li data-l10n-id="rights-webservices-term-6"></li>
<li data-l10n-id="rights-webservices-term-7"></li>
</ol>
</div>
</div>
<script src="chrome://global/content/aboutRights.js"/>
</body>
<script src="chrome://global/content/aboutRights.js"/>
</html>

Просмотреть файл

@ -52,7 +52,7 @@ messenger.jar:
content/messenger/aboutDialog-appUpdater.js (content/aboutDialog-appUpdater.js)
* content/messenger/aboutDialog.xhtml (content/aboutDialog.xhtml)
content/messenger/aboutDialog.js (content/aboutDialog.js)
* content/messenger/aboutRights.xhtml (content/aboutRights.xhtml)
content/messenger/aboutRights.xhtml (content/aboutRights.xhtml)
content/messenger/newInstallPage.html (content/newInstallPage.html)
* content/messenger/systemIntegrationDialog.xhtml (content/systemIntegrationDialog.xhtml)
content/messenger/systemIntegrationDialog.js (content/systemIntegrationDialog.js)

Просмотреть файл

@ -1,69 +0,0 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!-- rights.locale-direction instead of the usual local.dir entity, so RTL can skip translating page. -->
<!ENTITY rights.locale-direction "ltr">
<!ENTITY rights.title "About Your Rights">
<!ENTITY rights.intro-header "About Your Rights">
<!ENTITY rights.intro "&brandFullName; is free and open source software, built by a community of thousands from all over the world. There are a few things you should know:">
<!-- Note on pointa / pointb / pointc form:
These points each have an embedded link in the HTML, so each point is
split into chunks for text before the link, the link text, and the text
after the link. If a localized grammar doesn't need the before or after
chunk, it can be left blank.
Also note the leading/trailing whitespace in strings here, which is
deliberate for formatting around the embedded links. -->
<!ENTITY rights.intro-point1a "&brandShortName; is made available to you under the terms of the ">
<!ENTITY rights.intro-point1b "Mozilla Public License">
<!ENTITY rights.intro-point1c ". This means you may use, copy and distribute &brandShortName; to others. You are also welcome to modify the source code of &brandShortName; as you want to meet your needs. The Mozilla Public License also gives you the right to distribute your modified versions.">
<!ENTITY rights.intro-point2a "Mozilla does not grant you any rights to the Mozilla and Thunderbird trademarks or logos. Additional information on Trademarks may be found ">
<!ENTITY rights.intro-point2b "here">
<!ENTITY rights.intro-point2c ".">
<!-- point 3 text for official branded builds -->
<!ENTITY rights.intro-point3a "Privacy policies for &vendorShortName;'s products may be found ">
<!ENTITY rights.intro-point3b "here">
<!ENTITY rights.intro-point3c ".">
<!-- point 3 text for unbranded builds -->
<!ENTITY rights.intro-point3-unbranded "Any applicable privacy policies for this product should be listed here.">
<!-- point 4 text for official branded builds -->
<!ENTITY rights.intro-point4a "&brandShortName; also offers optional services, such as the add-on update service; however we cannot guarantee they are 100&#37; accurate or error-free. More details, including information on how to disable the services, can be found in the ">
<!ENTITY rights.intro-point4b "service terms">
<!ENTITY rights.intro-point4c ".">
<!-- point 4 text for unbranded builds -->
<!ENTITY rights.intro-point4a-unbranded "If this product incorporates web services, any applicable service terms for the service(s) should be linked to the ">
<!ENTITY rights.intro-point4b-unbranded "Web Site Services">
<!ENTITY rights.intro-point4c-unbranded " section.">
<!ENTITY rights.webservices-header "&brandFullName; Web Site Services">
<!-- Note that this paragraph references a couple of entities from
preferences/security.dtd, so that we can refer to text the user sees in
the UI, without this page being forgotten every time those strings are
updated. -->
<!-- intro paragraph for branded builds -->
<!ENTITY rights.webservices-a "&brandFullName; offers optional services (&quot;Services&quot;), such as the add-on update service, that are available for your use with this binary version of &brandShortName; as described below. If you do not want to use the Services or the terms below are unacceptable, you may disable the add-on update service by opening the application preferences, selecting the ">
<!ENTITY rights.webservices-b "Advanced">
<!ENTITY rights.webservices-c " section, followed by the ">
<!ENTITY rights.webservices-d "Update">
<!ENTITY rights.webservices-e " tab, and unchecking the options for &quot;Automatically check for updates to&quot;.">
<!-- intro paragraph for unbranded builds -->
<!ENTITY rights.webservices-unbranded "An overview of the web site services the product incorporates, along with instructions on how to disable them, if applicable, should be included here.">
<!-- point 1 text for unbranded builds -->
<!ENTITY rights.webservices-term1-unbranded "Any applicable service terms for this product should be listed here.">
<!-- points 1-7 text for branded builds -->
<!ENTITY rights.webservices-term1 "&vendorShortName; may discontinue or change the Services at its discretion.">
<!ENTITY rights.webservices-term2 "You are welcome to use these Services with the accompanying version of &brandShortName;, and you have all the rights necessary to do so. &vendorShortName; and its licensors reserve all other rights in the Services. These terms are not intended to limit any rights granted under open source licenses applicable to &brandShortName; and to corresponding source code versions of &brandShortName;.">
<!ENTITY rights.webservices-term3 "The Services are provided &quot;as-is.&quot; &vendorShortName;, its contributors, licensors, and distributors, disclaim all warranties, whether express or implied, including without limitation, warranties that the Services are merchantable and fit for your particular purposes. You bear the entire risk as to selecting the Services for your purposes and as to the quality and performance of the Services. Some jurisdictions do not allow the exclusion or limitation of implied warranties, so this disclaimer may not apply to you.">
<!ENTITY rights.webservices-term4 "Except as required by law, &vendorShortName;, its contributors, licensors, and distributors will not be liable for any indirect, special, incidental, consequential, punitive, or exemplary damages arising out of or in any way relating to the use of &brandShortName; and the Services. The collective liability under these terms will not exceed $500 (five hundred dollars). Some jurisdictions do not allow the exclusion or limitation of certain damages, so this exclusion and limitation may not apply to you.">
<!ENTITY rights.webservices-term5 "&vendorShortName; may update these terms as necessary from time to time. These terms may not be modified or canceled without &vendorShortName;'s written agreement.">
<!ENTITY rights.webservices-term6 "These terms are governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions. If any portion of these terms is held to be invalid or unenforceable, the remaining portions will remain in full force and effect. In the event of a conflict between a translated version of these terms and the English language version, the English language version shall control.">

Просмотреть файл

@ -0,0 +1,122 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
rights-title = About Your Rights
rights-intro =
{ -brand-full-name } is free and open source software, built by a community
of thousands from all over the world. There are a few things you should
know:
rights-intro-point-1 =
{ -brand-short-name } is made available to you under the terms of the
<a data-l10n-name="mozilla-public-license-link">Mozilla Public License</a>.
This means you may use, copy and distribute { -brand-short-name } to
others. You are also welcome to modify the source code of
{ -brand-short-name } as you want to meet your needs. The Mozilla Public
License also gives you the right to distribute your modified versions.
rights-intro-point-2 =
You are not granted any trademark rights or licenses to the trademarks of
the Mozilla Foundation or any party, including without limitation the
Thunderbird name or logo. Additional information on trademarks may be found
<a data-l10n-name="mozilla-trademarks-link">here</a>.
rights-intro-point-3 =
Some features in { -brand-short-name }, such as the Crash Reporter, give
you the option to provide feedback to { -vendor-short-name }. By choosing
to submit feedback, you give { -vendor-short-name } permission to use the
feedback to improve its products, to publish the feedback on its websites,
and to distribute the feedback.
rights-intro-point-4 =
How we use your personal information and feedback submitted to
{ -vendor-short-name } through { -brand-short-name } is described in the
<a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name }
Privacy Policy</a>.
rights-intro-point-4-unbranded =
Any applicable privacy policies for this product should be listed here.
rights-intro-point-5 =
Some { -brand-short-name } features make use of web-based information
services, however, we cannot guarantee they are 100% accurate or
error-free. More details, including information on how to disable the
features that use these services, can be found in the
<a data-l10n-name="mozilla-service-terms-link">service terms</a>.
rights-intro-point-5-unbranded =
If this product incorporates web services, any applicable service terms for
the service(s) should be linked to the
<a data-l10n-name="mozilla-website-services-link"> Website Services</a>
section.
rights-intro-point-6 =
In order to play back certain types of video content, { -brand-short-name }
downloads certain content decryption modules from third parties.
rights-webservices-header = { -brand-full-name } Web-Based Information Services
rights-webservices =
{ -brand-full-name } uses web-based information services (“Services”) to
provide some of the features provided for your use with this binary version
of { -brand-short-name } under the terms described below. If you do not
want to use one or more of the Services or the terms below are
unacceptable, you may disable the feature or Service(s). Instructions on
how to disable a particular feature or Service may be found
<a data-l10n-name="mozilla-disable-service-link">here</a>. Other features
and Services can be disabled in the application preferences.
rights-locationawarebrowsing =
<strong>Location Aware Browsing: </strong>is always opt-in. No location
information is ever sent without your permission. If you wish to disable
the feature completely, follow these steps:
rights-locationawarebrowsing-term-1 =
Open the Config Editor
rights-locationawarebrowsing-term-2 = Type geo.enabled
rights-locationawarebrowsing-term-3 =
Double click on the geo.enabled preference
rights-locationawarebrowsing-term-4 = Location-Aware Browsing is now disabled
rights-webservices-unbranded =
An overview of the website services the product incorporates, along with
instructions on how to disable them, if applicable, should be included
here.
rights-webservices-term-unbranded =
Any applicable service terms for this product should be listed here.
rights-webservices-term-1 =
{ -vendor-short-name } and its contributors, licensors and partners work to
provide the most accurate and up-to-date Services. However, we cannot
guarantee that this information is comprehensive and error-free. For
example, the Safe Browsing Service may not identify some risky sites and
may identify some safe sites in error and the Location Aware Service all
locations returned by our service providers are estimates only and neither
we nor our service providers guarantee the accuracy of the locations
provided.
rights-webservices-term-2 =
{ -vendor-short-name } may discontinue or change the Services at its
discretion.
rights-webservices-term-3 =
You are welcome to use these Services with the accompanying version of
{ -brand-short-name }, and { -vendor-short-name } grants you its rights to
do so. { -vendor-short-name } and its licensors reserve all other rights in
the Services. These terms are not intended to limit any rights granted
under open source licenses applicable to { -brand-short-name } and to
corresponding source code versions of { -brand-short-name }.
rights-webservices-term-4 =
<strong>The Services are provided “as-is.” { -vendor-short-name }, its
contributors, licensors, and distributors, disclaim all warranties, whether
express or implied, including without limitation, warranties that the
Services are merchantable and fit for your particular purposes. You bear
the entire risk as to selecting the Services for your purposes and as to
the quality and performance of the Services. Some jurisdictions do not
allow the exclusion or limitation of implied warranties, so this disclaimer
may not apply to you.</strong>
rights-webservices-term-5 =
<strong>Except as required by law, { -vendor-short-name }, its
contributors, licensors, and distributors will not be liable for any
indirect, special, incidental, consequential, punitive, or exemplary
damages arising out of or in any way relating to the use of
{ -brand-short-name } and the Services. The collective liability under
these terms will not exceed $500 (five hundred dollars). Some jurisdictions
do not allow the exclusion or limitation of certain damages, so this
exclusion and limitation may not apply to you.</strong>
rights-webservices-term-6 =
{ -vendor-short-name } may update these terms as necessary from time to
time. These terms may not be modified or canceled without
{ -vendor-short-name }s written agreement.
rights-webservices-term-7 =
These terms are governed by the laws of the state of California, U.S.A.,
excluding its conflict of law provisions. If any portion of these terms is
held to be invalid or unenforceable, the remaining portions will remain in
full force and effect. In the event of a conflict between a translated
version of these terms and the English language version, the English
language version shall control.

Просмотреть файл

@ -21,7 +21,6 @@
% locale messenger @AB_CD@ %locale/@AB_CD@/messenger/
locale/@AB_CD@/messenger/aboutDialog.dtd (%chrome/messenger/aboutDialog.dtd)
locale/@AB_CD@/messenger/aboutDownloads.dtd (%chrome/messenger/aboutDownloads.dtd)
locale/@AB_CD@/messenger/aboutRights.dtd (%chrome/messenger/aboutRights.dtd)
locale/@AB_CD@/messenger/aboutRights.properties (%chrome/messenger/aboutRights.properties)
locale/@AB_CD@/messenger/aboutSupportMail.properties (%chrome/messenger/aboutSupportMail.properties)
locale/@AB_CD@/messenger/app-extension-fields.properties (%chrome/messenger/app-extension-fields.properties)

Просмотреть файл

Просмотреть файл

@ -0,0 +1,80 @@
# coding=utf8
# Any copyright is dedicated to the Public Domain.
# http://creativecommons.org/publicdomain/zero/1.0/
from __future__ import absolute_import
import fluent.syntax.ast as FTL
from fluent.migrate.helpers import transforms_from
def migrate(ctx):
"""Bug 1567070 - Migrate about:rights to Fluent in Thunderbird, part {index}."""
ctx.add_transforms(
'mail/messenger/aboutRights.ftl',
'mail/messenger/aboutRights.ftl',
transforms_from(
"""
rights-title = {COPY_PATTERN(from_path, "rights-title")}
rights-intro = {COPY_PATTERN(from_path, "rights-intro")}
rights-intro-point-1 = {COPY_PATTERN(from_path, "rights-intro-point-1")}
rights-intro-point-3 = {COPY_PATTERN(from_path, "rights-intro-point-3")}
rights-intro-point-4 = {COPY_PATTERN(from_path, "rights-intro-point-4")}
rights-intro-point-4-unbranded = {COPY_PATTERN(from_path, "rights-intro-point-4-unbranded ")}
rights-intro-point-5 = {COPY_PATTERN(from_path, "rights-intro-point-5")}
rights-intro-point-5-unbranded = {COPY_PATTERN(from_path, "rights-intro-point-5-unbranded")}
rights-intro-point-6 = {COPY_PATTERN(from_path, "rights-intro-point-6")}
rights-webservices-header = {COPY_PATTERN(from_path, "rights-webservices-header")}
rights-webservices = {COPY_PATTERN(from_path, "rights-webservices")}
rights-locationawarebrowsing = {COPY_PATTERN(from_path, "rights-locationawarebrowsing")}
rights-locationawarebrowsing-term-1 = {COPY_PATTERN(from_path, "rights-locationawarebrowsing-term-1")}
rights-locationawarebrowsing-term-2 = {COPY_PATTERN(from_path, "rights-locationawarebrowsing-term-2")}
rights-locationawarebrowsing-term-3 = {COPY_PATTERN(from_path, "rights-locationawarebrowsing-term-3")}
rights-locationawarebrowsing-term-4 = {COPY_PATTERN(from_path, "rights-locationawarebrowsing-term-4")}
rights-webservices-unbranded = {COPY_PATTERN(from_path, "rights-webservices-unbranded")}
rights-webservices-term-unbranded = {COPY_PATTERN(from_path, "rights-webservices-term-unbranded")}
rights-webservices-term-1 = {COPY_PATTERN(from_path, "rights-webservices-term-1")}
rights-webservices-term-2 = {COPY_PATTERN(from_path, "rights-webservices-term-2")}
rights-webservices-term-3 = {COPY_PATTERN(from_path, "rights-webservices-term-3")}
rights-webservices-term-4 = {COPY_PATTERN(from_path, "rights-webservices-term-4")}
rights-webservices-term-5 = {COPY_PATTERN(from_path, "rights-webservices-term-5")}
rights-webservices-term-6 = {COPY_PATTERN(from_path, "rights-webservices-term-6")}
rights-webservices-term-7 = {COPY_PATTERN(from_path, "rights-webservices-term-7")}
""", from_path="toolkit/toolkit/about/aboutRights.ftl"),
)
"""
rights-intro-point-2 = ### this needs s/Firefox/Thunderbird
rights-safebrowsing = ### No safebrowsing in tb.
rights-safebrowsing-term-1 = ### No safebrowsing in tb.
rights-safebrowsing-term-2 = ### No safebrowsing in tb.
rights-safebrowsing-term-3 = ### No safebrowsing in tb.
enableSafeBrowsing-label = ### No safebrowsing in tb.
rights-safebrowsing-term-4 = ### No safebrowsing in tb.
"""