mirror of
https://github.com/mastodon/mastodon.git
synced 2025-03-12 00:45:22 +00:00
Add effective date to terms of service (#33993)
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Crowdin / Upload translations / upload-translations (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Haml Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.2) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Crowdin / Upload translations / upload-translations (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Haml Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.2) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
This commit is contained in:
parent
84164270c6
commit
cadda2f957
|
@ -23,7 +23,7 @@ class Admin::TermsOfService::DraftsController < Admin::BaseController
|
|||
private
|
||||
|
||||
def set_terms_of_service
|
||||
@terms_of_service = TermsOfService.draft.first || TermsOfService.new(text: current_terms_of_service&.text)
|
||||
@terms_of_service = TermsOfService.draft.first || TermsOfService.new(text: current_terms_of_service&.text, effective_date: 10.days.from_now)
|
||||
end
|
||||
|
||||
def current_terms_of_service
|
||||
|
@ -32,6 +32,6 @@ class Admin::TermsOfService::DraftsController < Admin::BaseController
|
|||
|
||||
def resource_params
|
||||
params
|
||||
.expect(terms_of_service: [:text, :changelog])
|
||||
.expect(terms_of_service: [:text, :changelog, :effective_date])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
class Admin::TermsOfServiceController < Admin::BaseController
|
||||
def index
|
||||
authorize :terms_of_service, :index?
|
||||
@terms_of_service = TermsOfService.live.first
|
||||
@terms_of_service = TermsOfService.published.first
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,12 +5,18 @@ class Api::V1::Instances::TermsOfServicesController < Api::V1::Instances::BaseCo
|
|||
|
||||
def show
|
||||
cache_even_if_authenticated!
|
||||
render json: @terms_of_service, serializer: REST::PrivacyPolicySerializer
|
||||
render json: @terms_of_service, serializer: REST::TermsOfServiceSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_terms_of_service
|
||||
@terms_of_service = TermsOfService.live.first!
|
||||
@terms_of_service = begin
|
||||
if params[:date].present?
|
||||
TermsOfService.published.find_by!(effective_date: params[:date])
|
||||
else
|
||||
TermsOfService.live.first || TermsOfService.published.first! # For the case when none of the published terms have become effective yet
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,8 +4,12 @@ import type {
|
|||
ApiPrivacyPolicyJSON,
|
||||
} from 'mastodon/api_types/instance';
|
||||
|
||||
export const apiGetTermsOfService = () =>
|
||||
apiRequestGet<ApiTermsOfServiceJSON>('v1/instance/terms_of_service');
|
||||
export const apiGetTermsOfService = (version?: string) =>
|
||||
apiRequestGet<ApiTermsOfServiceJSON>(
|
||||
version
|
||||
? `v1/instance/terms_of_service/${version}`
|
||||
: 'v1/instance/terms_of_service',
|
||||
);
|
||||
|
||||
export const apiGetPrivacyPolicy = () =>
|
||||
apiRequestGet<ApiPrivacyPolicyJSON>('v1/instance/privacy_policy');
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
export interface ApiTermsOfServiceJSON {
|
||||
updated_at: string;
|
||||
effective_date: string;
|
||||
effective: boolean;
|
||||
succeeded_by: string | null;
|
||||
content: string;
|
||||
}
|
||||
|
||||
|
|
|
@ -8,26 +8,31 @@ import {
|
|||
} from 'react-intl';
|
||||
|
||||
import { Helmet } from 'react-helmet';
|
||||
import { Link, useParams } from 'react-router-dom';
|
||||
|
||||
import { apiGetTermsOfService } from 'mastodon/api/instance';
|
||||
import type { ApiTermsOfServiceJSON } from 'mastodon/api_types/instance';
|
||||
import { Column } from 'mastodon/components/column';
|
||||
import { Skeleton } from 'mastodon/components/skeleton';
|
||||
import BundleColumnError from 'mastodon/features/ui/components/bundle_column_error';
|
||||
|
||||
const messages = defineMessages({
|
||||
title: { id: 'terms_of_service.title', defaultMessage: 'Terms of Service' },
|
||||
});
|
||||
|
||||
interface Params {
|
||||
date?: string;
|
||||
}
|
||||
|
||||
const TermsOfService: React.FC<{
|
||||
multiColumn: boolean;
|
||||
}> = ({ multiColumn }) => {
|
||||
const intl = useIntl();
|
||||
const { date } = useParams<Params>();
|
||||
const [response, setResponse] = useState<ApiTermsOfServiceJSON>();
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
useEffect(() => {
|
||||
apiGetTermsOfService()
|
||||
apiGetTermsOfService(date)
|
||||
.then((data) => {
|
||||
setResponse(data);
|
||||
setLoading(false);
|
||||
|
@ -36,7 +41,7 @@ const TermsOfService: React.FC<{
|
|||
.catch(() => {
|
||||
setLoading(false);
|
||||
});
|
||||
}, []);
|
||||
}, [date]);
|
||||
|
||||
if (!loading && !response) {
|
||||
return <BundleColumnError multiColumn={multiColumn} errorType='routing' />;
|
||||
|
@ -55,23 +60,60 @@ const TermsOfService: React.FC<{
|
|||
defaultMessage='Terms of Service'
|
||||
/>
|
||||
</h3>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='privacy_policy.last_updated'
|
||||
defaultMessage='Last updated {date}'
|
||||
values={{
|
||||
date: loading ? (
|
||||
<Skeleton width='10ch' />
|
||||
) : (
|
||||
<FormattedDate
|
||||
value={response?.updated_at}
|
||||
year='numeric'
|
||||
month='short'
|
||||
day='2-digit'
|
||||
<p className='prose'>
|
||||
{response?.effective ? (
|
||||
<FormattedMessage
|
||||
id='privacy_policy.last_updated'
|
||||
defaultMessage='Last updated {date}'
|
||||
values={{
|
||||
date: (
|
||||
<FormattedDate
|
||||
value={response.effective_date}
|
||||
year='numeric'
|
||||
month='short'
|
||||
day='2-digit'
|
||||
/>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
<FormattedMessage
|
||||
id='terms_of_service.effective_as_of'
|
||||
defaultMessage='Effective as of {date}'
|
||||
values={{
|
||||
date: (
|
||||
<FormattedDate
|
||||
value={response?.effective_date}
|
||||
year='numeric'
|
||||
month='short'
|
||||
day='2-digit'
|
||||
/>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
|
||||
{response?.succeeded_by && (
|
||||
<>
|
||||
{' · '}
|
||||
<Link to={`/terms-of-service/${response.succeeded_by}`}>
|
||||
<FormattedMessage
|
||||
id='terms_of_service.upcoming_changes_on'
|
||||
defaultMessage='Upcoming changes on {date}'
|
||||
values={{
|
||||
date: (
|
||||
<FormattedDate
|
||||
value={response.succeeded_by}
|
||||
year='numeric'
|
||||
month='short'
|
||||
day='2-digit'
|
||||
/>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</Link>
|
||||
</>
|
||||
)}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -205,7 +205,7 @@ class SwitchingColumnsArea extends PureComponent {
|
|||
<WrappedRoute path='/keyboard-shortcuts' component={KeyboardShortcuts} content={children} />
|
||||
<WrappedRoute path='/about' component={About} content={children} />
|
||||
<WrappedRoute path='/privacy-policy' component={PrivacyPolicy} content={children} />
|
||||
<WrappedRoute path='/terms-of-service' component={TermsOfService} content={children} />
|
||||
<WrappedRoute path='/terms-of-service/:date?' component={TermsOfService} content={children} />
|
||||
|
||||
<WrappedRoute path={['/home', '/timelines/home']} component={HomeTimeline} content={children} />
|
||||
<Redirect from='/timelines/public' to='/public' exact />
|
||||
|
|
|
@ -872,7 +872,9 @@
|
|||
"subscribed_languages.target": "Change subscribed languages for {target}",
|
||||
"tabs_bar.home": "Home",
|
||||
"tabs_bar.notifications": "Notifications",
|
||||
"terms_of_service.effective_as_of": "Effective as of {date}",
|
||||
"terms_of_service.title": "Terms of Service",
|
||||
"terms_of_service.upcoming_changes_on": "Upcoming changes on {date}",
|
||||
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
|
||||
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
|
||||
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
|
||||
|
|
|
@ -1989,6 +1989,11 @@ a.sparkline {
|
|||
line-height: 20px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 16px;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -340,10 +340,17 @@ code {
|
|||
columns: unset;
|
||||
}
|
||||
|
||||
.input.datetime .label_input select {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
flex: 0;
|
||||
.input.datetime .label_input,
|
||||
.input.date .label_input {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
align-items: center;
|
||||
|
||||
select {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
flex: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.input.select.select--languages {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#
|
||||
# id :bigint(8) not null, primary key
|
||||
# changelog :text default(""), not null
|
||||
# effective_date :date
|
||||
# notification_sent_at :datetime
|
||||
# published_at :datetime
|
||||
# text :text default(""), not null
|
||||
|
@ -13,17 +14,27 @@
|
|||
# updated_at :datetime not null
|
||||
#
|
||||
class TermsOfService < ApplicationRecord
|
||||
scope :published, -> { where.not(published_at: nil).order(published_at: :desc) }
|
||||
scope :live, -> { published.limit(1) }
|
||||
scope :published, -> { where.not(published_at: nil).order(Arel.sql('coalesce(effective_date, published_at) DESC')) }
|
||||
scope :live, -> { published.where('effective_date IS NULL OR effective_date < now()').limit(1) }
|
||||
scope :draft, -> { where(published_at: nil).order(id: :desc).limit(1) }
|
||||
|
||||
validates :text, presence: true
|
||||
validates :changelog, presence: true, if: -> { published? }
|
||||
validates :changelog, :effective_date, presence: true, if: -> { published? }
|
||||
|
||||
validate :effective_date_cannot_be_in_the_past
|
||||
|
||||
def published?
|
||||
published_at.present?
|
||||
end
|
||||
|
||||
def effective?
|
||||
published? && effective_date&.past?
|
||||
end
|
||||
|
||||
def succeeded_by
|
||||
TermsOfService.published.where(effective_date: (effective_date..)).where.not(id: id).first
|
||||
end
|
||||
|
||||
def notification_sent?
|
||||
notification_sent_at.present?
|
||||
end
|
||||
|
@ -31,4 +42,14 @@ class TermsOfService < ApplicationRecord
|
|||
def scope_for_notification
|
||||
User.confirmed.joins(:account).merge(Account.without_suspended).where(created_at: (..published_at))
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def effective_date_cannot_be_in_the_past
|
||||
return if effective_date.blank?
|
||||
|
||||
min_date = TermsOfService.live.pick(:effective_date) || Time.zone.today
|
||||
|
||||
errors.add(:effective_date, :too_soon, date: min_date) if effective_date < min_date
|
||||
end
|
||||
end
|
||||
|
|
27
app/serializers/rest/terms_of_service_serializer.rb
Normal file
27
app/serializers/rest/terms_of_service_serializer.rb
Normal file
|
@ -0,0 +1,27 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class REST::TermsOfServiceSerializer < ActiveModel::Serializer
|
||||
attributes :effective_date, :effective, :content, :succeeded_by
|
||||
|
||||
def effective_date
|
||||
object.effective_date.iso8601
|
||||
end
|
||||
|
||||
def effective
|
||||
object.effective?
|
||||
end
|
||||
|
||||
def succeeded_by
|
||||
object.succeeded_by&.effective_date&.iso8601
|
||||
end
|
||||
|
||||
def content
|
||||
markdown.render(format(object.text, domain: Rails.configuration.x.local_domain))
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def markdown
|
||||
@markdown ||= Redcarpet::Markdown.new(Redcarpet::Render::HTML, escape_html: true, no_images: true)
|
||||
end
|
||||
end
|
|
@ -14,6 +14,9 @@
|
|||
.fields-group
|
||||
= form.input :changelog, wrapper: :with_block_label, input_html: { rows: 8 }
|
||||
|
||||
.fields-group
|
||||
= form.input :effective_date, wrapper: :with_block_label, as: :date, start_year: Time.zone.today.year
|
||||
|
||||
.actions
|
||||
= form.button :button, t('admin.terms_of_service.save_draft'), type: :submit, name: :action_type, value: :save_draft, class: 'button button-secondary'
|
||||
= form.button :button, t('admin.terms_of_service.publish'), type: :submit, name: :action_type, value: :publish
|
||||
|
|
|
@ -12,5 +12,9 @@
|
|||
- @terms_of_service.each do |terms_of_service|
|
||||
%li
|
||||
.admin__terms-of-service__history__item
|
||||
%h5= l(terms_of_service.published_at)
|
||||
%h5
|
||||
- if terms_of_service.effective_date.present?
|
||||
= link_to l(terms_of_service.published_at), terms_of_service_version_path(date: terms_of_service.effective_date)
|
||||
- else
|
||||
= l(terms_of_service.published_at)
|
||||
.prose= markdown(terms_of_service.changelog)
|
||||
|
|
|
@ -10,7 +10,11 @@
|
|||
.admin__terms-of-service__container__header
|
||||
.dot-indicator.success
|
||||
.dot-indicator__indicator
|
||||
%span= t('admin.terms_of_service.live')
|
||||
%span
|
||||
- if @terms_of_service.effective?
|
||||
= t('admin.terms_of_service.live')
|
||||
- else
|
||||
= t('admin.terms_of_service.going_live_on_html', date: tag.time(l(@terms_of_service.effective_date), class: 'formatted', date: @terms_of_service.effective_date.iso8601))
|
||||
·
|
||||
%span
|
||||
= t('admin.terms_of_service.published_on_html', date: tag.time(l(@terms_of_service.published_at.to_date), class: 'formatted', date: @terms_of_service.published_at.to_date.iso8601))
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
%table.email-inner-card-table{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' }
|
||||
%tr
|
||||
%td.email-inner-card-td.email-prose
|
||||
%p= t('user_mailer.terms_of_service_changed.description_html', path: terms_of_service_url, domain: site_hostname)
|
||||
%p= t('user_mailer.terms_of_service_changed.description_html', path: terms_of_service_version_url(date: @terms_of_service.effective_date), domain: site_hostname, date: l(@terms_of_service.effective_date || Time.zone.today))
|
||||
%p
|
||||
%strong= t('user_mailer.terms_of_service_changed.changelog')
|
||||
= markdown(@terms_of_service.changelog)
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
===
|
||||
|
||||
<%= t('user_mailer.terms_of_service_changed.description', domain: site_hostname) %>
|
||||
<%= t('user_mailer.terms_of_service_changed.description', domain: site_hostname, date: l(@terms_of_service.effective_date || Time.zone.today)) %>
|
||||
|
||||
=> <%= terms_of_service_url %>
|
||||
=> <%= terms_of_service_version_url(date: @terms_of_service.effective_date) %>
|
||||
|
||||
<%= t('user_mailer.terms_of_service_changed.changelog') %>
|
||||
|
||||
|
|
|
@ -49,6 +49,10 @@ en:
|
|||
attributes:
|
||||
reblog:
|
||||
taken: of post already exists
|
||||
terms_of_service:
|
||||
attributes:
|
||||
effective_date:
|
||||
too_soon: is too soon, must be later than %{date}
|
||||
user:
|
||||
attributes:
|
||||
email:
|
||||
|
|
|
@ -1927,8 +1927,6 @@ bg:
|
|||
terms_of_service_changed:
|
||||
agreement: Продължавайки употребата на %{domain}, съгласявате се с тези условия. Ако не сте съгласни с осъвременените условия, то може по всяко време да прекратите съгласието си с %{domain}, изтривайки акаунта си.
|
||||
changelog: 'Накратко, ето какво значи това обновяване за вас:'
|
||||
description: 'Получавате това е-писмо, защото правим някои промени по условията ни на услугата при %{domain}. Насърчаваме ви предварително да прегледате обновените условия изцяло тук:'
|
||||
description_html: Получавате това е-писмо, защото правим някои промени по условията ни на услугата при %{domain}. Насърчаваме ви предварително да прегледате <a href="%{path}" target="_blank">обновените условия изцяло тук</a>.
|
||||
sign_off: Отборът на %{domain}
|
||||
subject: Новости в нашите условия за ползване
|
||||
subtitle: Условията на услугата на %{domain} се променят
|
||||
|
|
|
@ -2022,8 +2022,6 @@ cs:
|
|||
terms_of_service_changed:
|
||||
agreement: Pokračováním v používání %{domain} souhlasíte s těmito podmínkami. Pokud nesouhlasíte s aktualizovanými podmínkami, můžete svůj souhlas s %{domain} kdykoliv ukončit odstraněním vašeho účtu.
|
||||
changelog: 'Ve zkratce, zde je to, co tato změna znamená pro vás:'
|
||||
description: 'Tento e-mail jste obdrželi, protože na %{domain} provádíme určité změny našich smluvních podmínek. Doporučujeme vám zkontrolovat aktualizované podmínky v plném znění zde:'
|
||||
description_html: Tento e-mail jste obdrželi, protože na %{domain} provádíme určité změny našich smluvních podmínek. Doporučujeme Vám zkontrolovat <a href="%{path}" target="_blank">aktualizované termíny v plném znění zde</a>.
|
||||
sign_off: Tým %{domain}
|
||||
subject: Aktualizace našich podmínek služby
|
||||
subtitle: Podmínky služby %{domain} se mění
|
||||
|
|
|
@ -2108,8 +2108,6 @@ cy:
|
|||
terms_of_service_changed:
|
||||
agreement: Drwy barhau i ddefnyddio %{domain}, rydych yn cytuno i'r telerau hyn. Os ydych yn anghytuno â'r telerau a ddiweddarwyd, gallwch derfynu eich cytundeb â %{domain} ar unrhyw adeg drwy ddileu eich cyfrif.
|
||||
changelog: 'Yn fyr, dyma beth mae''r diweddariad hwn yn ei olygu i chi:'
|
||||
description: 'Rydych yn derbyn yr e-bost hwn oherwydd ein bod yn gwneud rhai newidiadau i''n telerau gwasanaeth yn %{domain}. Rydym yn eich annog i adolygu''r telerau diweddaraf yn llawn yma:'
|
||||
description_html: Rydych yn derbyn yr e-bost hwn oherwydd ein bod yn gwneud rhai newidiadau i'n telerau gwasanaeth yn %{domain}. Rydym yn eich annog i adolygu'r <a href="%{path}" target="_blank">telerau diweddaraf yn llawn yma</a> .
|
||||
sign_off: Tîm %{domain}
|
||||
subject: Diweddariadau i'n telerau gwasanaeth
|
||||
subtitle: Mae telerau gwasanaeth %{domain} yn newid
|
||||
|
|
|
@ -1936,8 +1936,6 @@ da:
|
|||
terms_of_service_changed:
|
||||
agreement: Ved at fortsætte med at bruge %{domain}, accepteres disse vilkår. Kan du ikke acceptere de opdaterede vilkår, kan din aftale med %{domain} til enhver tid opsiges ved at slette din konto.
|
||||
changelog: 'Med ét blik er her, hvad denne opdatering rent praktisk betyder:'
|
||||
description: 'Man modtager denne e-mail, fordi der foretages nogle ændringer i vores Tjenestevilkår på %{domain}. Man opfordres til at gennemgå de opdaterede vilkår fuldt ud her:'
|
||||
description_html: Man modtager denne e-mail, fordi der foretages nogle ændringer i vores Tjenestevilkår på %{domain}. Man opfordres til at gennemgå de <a href="%{path}" target="_blank">opdaterede vilkår fuldt ud her</a>.
|
||||
sign_off: "%{domain}-teamet"
|
||||
subject: Opdatering af Tjenestevilkår
|
||||
subtitle: Tjenestevilkår for %{domain} ændres
|
||||
|
|
|
@ -1936,8 +1936,6 @@ de:
|
|||
terms_of_service_changed:
|
||||
agreement: Wenn du %{domain} weiterhin verwendest, stimmst du den neuen Nutzungsbedingungen automatisch zu. Falls du mit diesen nicht einverstanden bist, kannst du die Vereinbarung mit %{domain} jederzeit widerrufen, indem du dein Konto dort löschst.
|
||||
changelog: 'Hier siehst du, was sich geändert hat:'
|
||||
description: 'Du erhältst diese E-Mail, weil wir einige Änderungen an unseren Nutzungsbedingungen für %{domain} vorgenommen haben. Wir empfehlen, die vollständig aktualisierte Fassung hier zu lesen:'
|
||||
description_html: Du erhältst diese E-Mail, weil wir einige Änderungen an unseren Nutzungsbedingungen für %{domain} vorgenommen haben. Wir empfehlen, die <a href="%{path}" target="_blank">vollständig aktualisierte Fassung hier zu lesen</a>.
|
||||
sign_off: Das Team von %{domain}
|
||||
subject: Aktualisierungen unserer Nutzungsbedingungen
|
||||
subtitle: Die Nutzungsbedingungen von %{domain} ändern sich
|
||||
|
|
|
@ -1936,8 +1936,6 @@ el:
|
|||
terms_of_service_changed:
|
||||
agreement: Συνεχίζοντας να χρησιμοποιείς το %{domain}, συμφωνείς με αυτούς τους όρους. Αν διαφωνείς με τους ενημερωμένους όρους, μπορείς να τερματίσεις τη συμφωνία σου με το %{domain} ανά πάσα στιγμή διαγράφοντας τον λογαριασμό σου.
|
||||
changelog: 'Με μια ματιά, αυτό σημαίνει αυτή η ενημέρωση για σένα:'
|
||||
description: 'Λαμβάνεις αυτό το μήνυμα επειδή κάνουμε κάποιες αλλαγές στους όρους παροχής υπηρεσιών μας στο %{domain}. Σε ενθαρρύνουμε να εξετάσεις πλήρως τους ενημερωμένους όρους εδώ:'
|
||||
description_html: Λαμβάνεις αυτό το μήνυμα επειδή κάνουμε κάποιες αλλαγές στους όρους παροχής υπηρεσιών μας στο %{domain}. Σε ενθαρρύνουμε να εξετάσεις <a href="%{path}" target="_blank">πλήρως τους ενημερωμένους όρους εδώ</a>.
|
||||
sign_off: Η ομάδα του %{domain}
|
||||
subject: Ενημερώσεις στους όρους παροχής υπηρεσιών μας
|
||||
subtitle: Οι όροι παροχής υπηρεσιών του %{domain} αλλάζουν
|
||||
|
|
|
@ -1936,8 +1936,6 @@ en-GB:
|
|||
terms_of_service_changed:
|
||||
agreement: By continuing to use %{domain}, you are agreeing to these terms. If you disagree with the updated terms, you may terminate your agreement with %{domain} at any time by deleting your account.
|
||||
changelog: 'At a glance, here is what this update means for you:'
|
||||
description: 'You are receiving this e-mail because we''re making some changes to our terms of service at %{domain}. We encourage you to review the updated terms in full here:'
|
||||
description_html: You are receiving this e-mail because we're making some changes to our terms of service at %{domain}. We encourage you to review the <a href="%{path}" target="_blank">updated terms in full here</a>.
|
||||
sign_off: The %{domain} team
|
||||
subject: Updates to our terms of service
|
||||
subtitle: The terms of service of %{domain} are changing
|
||||
|
|
|
@ -939,6 +939,7 @@ en:
|
|||
chance_to_review_html: "<strong>The generated terms of service will not be published automatically.</strong> You will have a chance to review the results. Please fill in the necessary details to proceed."
|
||||
explanation_html: The terms of service template provided is for informational purposes only, and should not be construed as legal advice on any subject matter. Please consult with your own legal counsel on your situation and specific legal questions you have.
|
||||
title: Terms of Service Setup
|
||||
going_live_on_html: Live, effective %{date}
|
||||
history: History
|
||||
live: Live
|
||||
no_history: There are no recorded changes of the terms of service yet.
|
||||
|
@ -1937,8 +1938,8 @@ en:
|
|||
terms_of_service_changed:
|
||||
agreement: By continuing to use %{domain}, you are agreeing to these terms. If you disagree with the updated terms, you may terminate your agreement with %{domain} at any time by deleting your account.
|
||||
changelog: 'At a glance, here is what this update means for you:'
|
||||
description: 'You are receiving this e-mail because we''re making some changes to our terms of service at %{domain}. We encourage you to review the updated terms in full here:'
|
||||
description_html: You are receiving this e-mail because we're making some changes to our terms of service at %{domain}. We encourage you to review the <a href="%{path}" target="_blank">updated terms in full here</a>.
|
||||
description: 'You are receiving this e-mail because we''re making some changes to our terms of service at %{domain}. These updates will take effect on %{date}. We encourage you to review the updated terms in full here:'
|
||||
description_html: You are receiving this e-mail because we're making some changes to our terms of service at %{domain}. These updates will take effect on <strong>%{date}</strong>. We encourage you to review the <a href="%{path}" target="_blank">updated terms in full here</a>.
|
||||
sign_off: The %{domain} team
|
||||
subject: Updates to our terms of service
|
||||
subtitle: The terms of service of %{domain} are changing
|
||||
|
|
|
@ -1938,8 +1938,6 @@ eo:
|
|||
terms_of_service_changed:
|
||||
agreement: Se vi daŭrige uzos %{domain}, vi aŭtomate interkonsentos pri ĉi tiuj kondiĉoj. Se vi malkonsentas pri la novaj kondiĉoj, vi ĉiutempe rajtas nuligi la interkonsenton kun %{domain} per forigi vian konton.
|
||||
changelog: 'Facile dirite, la ŝanĝoj estas la jenaj:'
|
||||
description: 'Vi ricevas ĉi tiun retmesaĝon ĉar ni faras iujn ŝanĝojn al niaj servokondiĉoj ĉe %{domain}. Ni instigas vin revizii la ĝisdatigitajn kondiĉojn tute ĉi tie:'
|
||||
description_html: Vi ricevas ĉi tiun retmesaĝon ĉar ni faras iujn ŝanĝojn al niaj servokondiĉoj ĉe %{domain}. Ni instigas vin revizii la <a href="%{path}" target="_blank">ĝisdatigitajn kondiĉojn plene ĉi tie</a>.
|
||||
sign_off: La teamo de %{domain}
|
||||
subject: Ĝisdatigoj al niaj kondiĉoj de servo
|
||||
subtitle: La kondiĉoj de la servo de %{domain} ŝanĝiĝas
|
||||
|
|
|
@ -1936,8 +1936,6 @@ es-AR:
|
|||
terms_of_service_changed:
|
||||
agreement: Si seguís usando %{domain}, aceptás estos términos. Si no estás de acuerdo con los términos actualizados, podés cancelar tu acuerdo con %{domain} en cualquier momento, eliminando tu cuenta.
|
||||
changelog: 'A modo de pantallazo general, esto es lo que esta actualización significa para vos:'
|
||||
description: 'Estás recibiendo este correo electrónico porque estamos haciendo algunos cambios en nuestros términos del servicio en %{domain}. Te animamos a revisar los términos actualizados en su totalidad acá:'
|
||||
description_html: Estás recibiendo este correo electrónico porque estamos haciendo algunos cambios en nuestros términos del servicio en %{domain}. Te animamos a revisar los <a href="%{path}" target="_blank">términos actualizados en su totalidad acá</a>.
|
||||
sign_off: El equipo de %{domain}
|
||||
subject: Actualizaciones en nuestros términos del servicio
|
||||
subtitle: Los términos del servicio de %{domain} están cambiando
|
||||
|
|
|
@ -1936,8 +1936,6 @@ es-MX:
|
|||
terms_of_service_changed:
|
||||
agreement: Al seguir usando %{domain}, aceptas estas condiciones. Si no estás de acuerdo con las condiciones actualizadas, puedes cancelar tu acuerdo con %{domain} en cualquier momento eliminando tu cuenta.
|
||||
changelog: 'En pocas palabras, esto es lo que esta actualización implica para ti:'
|
||||
description: 'Estás recibiendo este correo electrónico porque estamos realizando algunos cambios en nuestras condiciones del servicio en %{domain}. Te animamos a revisar las condiciones actualizadas en su totalidad aquí:'
|
||||
description_html: Estás recibiendo este correo electrónico porque estamos realizando algunos cambios en nuestras condiciones del servicio en %{domain}. Te animamos a revisar las <a href="%{path}" target="_blank">condiciones actualizadas en su totalidad aquí</a>.
|
||||
sign_off: El equipo de %{domain}
|
||||
subject: Actualizaciones en nuestras condiciones del servicio
|
||||
subtitle: Las condiciones del servicio de %{domain} han cambiado
|
||||
|
|
|
@ -1936,8 +1936,6 @@ es:
|
|||
terms_of_service_changed:
|
||||
agreement: Al seguir usando %{domain}, aceptas estos términos. Si no estás de acuerdo con los términos actualizados, puedes cancelar tu acuerdo con %{domain} en cualquier momento eliminando tu cuenta.
|
||||
changelog: 'En resumen, esto es lo que esta actualización significa para ti:'
|
||||
description: 'Estás recibiendo este correo electrónico porque estamos haciendo algunos cambios en nuestros términos del servicio en %{domain}. Te animamos a revisar los términos actualizados en su totalidad aquí:'
|
||||
description_html: Estás recibiendo este correo electrónico porque estamos haciendo algunos cambios en nuestros términos del servicio en %{domain}. Te animamos a revisar los <a href="%{path}" target="_blank">términos actualizados en su totalidad aquí</a>.
|
||||
sign_off: El equipo de %{domain}
|
||||
subject: Actualizaciones en nuestros términos del servicio
|
||||
subtitle: Los términos del servicio de %{domain} están cambiando
|
||||
|
|
|
@ -1936,8 +1936,6 @@ fa:
|
|||
terms_of_service_changed:
|
||||
agreement: با ادامه استفاده از %{domain}، با این شرایط موافقت می کنید. اگر با شرایط بهروزرسانی شده مخالف هستید، میتوانید در هر زمان با حذف حساب خود، قرارداد خود را با %{domain} فسخ کنید.
|
||||
changelog: 'در یک نگاه، معنای این بهروزرسانی برای شما چیست:'
|
||||
description: 'شما این ایمیل را دریافت می کنید زیرا ما در حال ایجاد برخی تغییرات در شرایط خدمات خود در %{domain} هستیم. توصیه می کنیم شرایط به روز شده را به طور کامل در اینجا مرور کنید:'
|
||||
description_html: شما این ایمیل را دریافت می کنید زیرا ما در حال ایجاد برخی تغییرات در شرایط خدمات خود در %{domain} هستیم. توصیه می کنیم <a href="%{path}" target="_blank">شرایط به روز شده را به طور کامل در اینجا بررسی کنید</a>.
|
||||
sign_off: تیم %{domain}
|
||||
subject: بهروزرسانیهای شرایط خدمات ما
|
||||
subtitle: شرایط خدمات %{domain} در حال تغییر است
|
||||
|
|
|
@ -1936,8 +1936,6 @@ fi:
|
|||
terms_of_service_changed:
|
||||
agreement: Jatkamalla palvelun %{domain} käyttöä hyväksyt nämä ehdot. Jos et hyväksy päivitettyjä ehtoja, voit milloin tahansa päättää sopimuksesi palvelun %{domain} kanssa poistamalla tilisi.
|
||||
changelog: 'Lyhyesti, mitä tämä päivitys tarkoittaa sinulle:'
|
||||
description: 'Sait tämän sähköpostiviestin, koska teemme muutoksia palvelun %{domain} käyttöehtoihin. Kehotamme sinua tutustumaan päivitettyihin ehtoihin kokonaisuudessaan täällä:'
|
||||
description_html: Sait tämän sähköpostiviestin, koska teemme muutoksia palvelun %{domain} käyttöehtoihin. Kehotamme sinua tutustumaan <a href="%{path}" target="_blank">päivitettyihin ehtoihin kokonaisuudessaan täällä</a>.
|
||||
sign_off: Palvelimen %{domain} tiimi
|
||||
subject: Käyttöehtojemme päivitykset
|
||||
subtitle: Palvelimen %{domain} käyttöehdot muuttuvat
|
||||
|
|
|
@ -1936,8 +1936,6 @@ fo:
|
|||
terms_of_service_changed:
|
||||
agreement: Við framhaldandi at brúka %{domain} góðtekur tú hesar treytir. Tekur tú ikki undir við dagførdu treytunum, so kanst tú til einhvørja tíð uppsiga avtaluna við %{domain} við at strika kontu tína.
|
||||
changelog: 'Í stuttum merkir henda dagføringin:'
|
||||
description: 'Tú móttekur hetta teldubrævið, tí at vit gera nakrar broytingar í okkara tænastutreytum á %{domain}. Vit eggja tær til at eftirhyggja dagførdu treytirnar her:'
|
||||
description_html: Tú móttekur hetta teldubrævið, tí at vit gera nakrar broytingar í okkara tænastutreytum á %{domain}. Vit eggja tær til at eftirhyggja <a href="%{path}" target="_blank">dagførdu og samlaðu treytirnar her</a>.
|
||||
sign_off: "%{domain} toymið"
|
||||
subject: Dagføringar til okkara tænastutreytir
|
||||
subtitle: Tænastutreytirnar hjá %{domain} eru við at verða broyttar
|
||||
|
|
|
@ -1939,8 +1939,6 @@ fr-CA:
|
|||
terms_of_service_changed:
|
||||
agreement: En continuant d'utiliser %{domain}, vous acceptez ces conditions. Si vous n'êtes pas d'accord avec les conditions mises à jour, vous pouvez résilier votre accord avec %{domain} à tout moment en supprimant votre compte.
|
||||
changelog: 'En un coup d''œil, voici ce que cette mise à jour signifie pour vous :'
|
||||
description: 'Vous recevez cet e-mail car nous apportons des modifications à nos conditions d''utilisation sur %{domain}. Nous vous encourageons à consulter l''intégralité des conditions mises à jour ici :'
|
||||
description_html: Vous recevez cet e-mail car nous apportons des modifications à nos conditions d'utilisation sur %{domain}. Nous vous encourageons à consulter l'intégralité des <a href="%{path}" target="_blank">conditions mises à jour ici</a>.
|
||||
sign_off: L'équipe %{domain}
|
||||
subject: Mises à jour de nos conditions d'utilisation
|
||||
subtitle: Les conditions d'utilisation de `%{domain}` changent
|
||||
|
|
|
@ -1939,8 +1939,6 @@ fr:
|
|||
terms_of_service_changed:
|
||||
agreement: En continuant d'utiliser %{domain}, vous acceptez ces conditions. Si vous n'êtes pas d'accord avec les conditions mises à jour, vous pouvez résilier votre accord avec %{domain} à tout moment en supprimant votre compte.
|
||||
changelog: 'En un coup d''œil, voici ce que cette mise à jour signifie pour vous :'
|
||||
description: 'Vous recevez cet e-mail car nous apportons des modifications à nos conditions d''utilisation sur %{domain}. Nous vous encourageons à consulter l''intégralité des conditions mises à jour ici :'
|
||||
description_html: Vous recevez cet e-mail car nous apportons des modifications à nos conditions d'utilisation sur %{domain}. Nous vous encourageons à consulter l'intégralité des <a href="%{path}" target="_blank">conditions mises à jour ici</a>.
|
||||
sign_off: L'équipe %{domain}
|
||||
subject: Mises à jour de nos conditions d'utilisation
|
||||
subtitle: Les conditions d'utilisation de `%{domain}` changent
|
||||
|
|
|
@ -1936,8 +1936,6 @@ fy:
|
|||
terms_of_service_changed:
|
||||
agreement: Troch %{domain} brûke te bliuwen, geane jo akkoard mei dizze betingsten. As jo it net iens binne mei de bywurke betingsten, kinne jo jo oerienkomst mei %{domain} op elk winske momint beëinigje troch jo account fuort te smiten.
|
||||
changelog: 'Yn ien eachopslach betsjut dizze update foar jo:'
|
||||
description: 'Jo ûntfange dit berjocht, omdat wy inkelde wizigingen oanbringe yn ús gebrûksbetingsten by %{domain}. Wy riede jo oan om de bywurke betingsten hjir folslein te besjen:'
|
||||
description_html: Jo ûntfange dit berjocht, omdat wy inkelde wizigingen oanbringe yn ús gebrûksbetingsten by %{domain}. Wy riede jo oan om de bywurke <a href="%{path}" target="_blank">betingsten hjir folslein te besjen</a>.
|
||||
sign_off: It %{domain}-team
|
||||
subject: Aktualisaasje fan ús tsjinstbetingsten
|
||||
subtitle: De gebrûksbetingsten fan %{domain} wizigje
|
||||
|
|
|
@ -2065,8 +2065,6 @@ ga:
|
|||
terms_of_service_changed:
|
||||
agreement: Má leanann tú ar aghaidh ag úsáid %{domain}, tá tú ag aontú leis na téarmaí seo. Mura n-aontaíonn tú leis na téarmaí nuashonraithe, is féidir leat do chomhaontú le %{domain} a fhoirceannadh am ar bith trí do chuntas a scriosadh.
|
||||
changelog: 'Sracfhéachaint, seo é a chiallaíonn an nuashonrú seo duit:'
|
||||
description: 'Tá an ríomhphost seo á fháil agat toisc go bhfuil roinnt athruithe á ndéanamh againn ar ár dtéarmaí seirbhíse ag %{domain}. Molaimid duit athbhreithniú iomlán a dhéanamh ar na téarmaí nuashonraithe anseo:'
|
||||
description_html: Tá an ríomhphost seo á fháil agat toisc go bhfuil roinnt athruithe á ndéanamh againn ar ár dtéarmaí seirbhíse ag %{domain}. Molaimid duit athbhreithniú a dhéanamh ar na <a href="%{path}" target="_blank">téarmaí nuashonraithe ina n-iomláine anseo</a>.
|
||||
sign_off: Foireann %{domain}
|
||||
subject: Nuashonruithe ar ár dtéarmaí seirbhíse
|
||||
subtitle: Tá téarmaí seirbhíse %{domain} ag athrú
|
||||
|
|
|
@ -1936,8 +1936,6 @@ gl:
|
|||
terms_of_service_changed:
|
||||
agreement: Se continúas a usar %{domain} aceptas estas condicións. Se non aceptas as condicións actualizadas podería rematar o acordo con %{domain} en calquera momento e eliminarse a túa conta.
|
||||
changelog: 'Dunha ollada, aquí tes o que implican os cambios para ti:'
|
||||
description: 'Recibes este correo porque fixemos cambios nos termos do servizo de %{domain}. Recomendámosche que leas as condicións actualizadas ao completo aquí:'
|
||||
description_html: Recibes este correo porque fixemos cambios nos termos do servizo de %{domain}. Recomendámosche que leas as <a href="%{path}" target="_blank">condicións actualizadas ao completo aquí</a>.
|
||||
sign_off: O equipo de %{domain}
|
||||
subject: Actualización dos nosos termos do servizo
|
||||
subtitle: Cambiaron os termos do servizo de %{domain}
|
||||
|
|
|
@ -2022,8 +2022,6 @@ he:
|
|||
terms_of_service_changed:
|
||||
agreement: עם המשך השימוש בשרת %{domain} אתן מסכימות לתנאים הללו. אם אינכם מסכימים עם עדכוני תנאי השירות, אתן יכולות להפסיק את ההסכם עם %{domain} בכל עת על ידי מחיקת החשבון.
|
||||
changelog: 'בקצרה, הנה משמעות העדכון עבורך:'
|
||||
description: 'קיבלת הודעת דואל זו כיוון שאנו מבצעים שינויים במסמך תנאי השירות של %{domain}. אנו מעודדים אותך לעבור על השינויים במסמך המלא כאן:'
|
||||
description_html: 'קיבלת הודעת דואל זו כיוון שאנו מבצעים שינויים במסמך תנאי השירות של %{domain}. אנו מעודדים אותך לעבור על <a href="%{path}" target="_blank">השינויים במסמך המלא כאן</a>:'
|
||||
sign_off: צוות %{domain}
|
||||
subject: עדכונים לתנאי השירות שלנו
|
||||
subtitle: מסמך תנאי השירות של %{domain} עוברים שינויים
|
||||
|
|
|
@ -1936,8 +1936,6 @@ hu:
|
|||
terms_of_service_changed:
|
||||
agreement: A(z) %{domain} használatának folytatásával beleegyezel ezekbe a feltételekbe. Ha nem értesz egyet a frissített feltételekkel, akkor a fiókod törlésével megszakíthatod a(z) %{domain} weboldallal való megállapodásodat.
|
||||
changelog: 'Dióhéjban ez a frissítés ezt jelenti számodra:'
|
||||
description: 'Azért kapod ezt az e-mailt, mert a %{domain} felhasználási feltételein változtatunk. Javasoljuk, hogy tekintsd át a frissített feltételeket teljes egészében itt:'
|
||||
description_html: Azért kapod ezt az e-mailt, mert a %{domain} felhasználási feltételein változtatunk. Javasoljuk, hogy tekintsd át a <a href="%{path}" target="_blank">frissített feltételeket teljes egészében itt</a>.
|
||||
sign_off: A(z) %{domain} csapata
|
||||
subject: A felhasználási feltételei frissítései
|
||||
subtitle: A(z) %{domain} felhasználási feltételei megváltoznak
|
||||
|
|
|
@ -1936,8 +1936,6 @@ ia:
|
|||
terms_of_service_changed:
|
||||
agreement: Si tu continua a usar %{domain}, tu accepta iste conditiones. Si tu non es de accordo con le conditiones actualisate, tu pote sempre eliminar tu conto pro terminar tu accordo con %{domain}.
|
||||
changelog: 'In summario, ecce lo que iste actualisation significa pro te:'
|
||||
description: 'Tu recipe iste message perque nos ha apportate alcun modificationes a nostre conditiones de servicio sur %{domain}. Nos te incoragia a revider le conditiones actualisate complete al sequente adresse:'
|
||||
description_html: Tu recipe iste message perque nos ha apportate alcun modificationes a nostre conditiones de servicio sur %{domain}. Nos te incoragia a revider le <a href="%{path}" target="_blank">conditiones actualisate complete</a>.
|
||||
sign_off: Le equipa de %{domain}
|
||||
subject: Actualisationes de nostre conditiones de servicio
|
||||
subtitle: Le conditiones de servicio de %{domain} ha cambiate
|
||||
|
|
|
@ -1940,8 +1940,6 @@ is:
|
|||
terms_of_service_changed:
|
||||
agreement: Með því að halda áfram að nota %{domain}, ert þú þar með að samþykkja þessa skilmála. Ef þú ert ósammála þessum uppfærðu skilmálum, geturðu hvenær sem er sagt upp samþykki þínu gagnvart %{domain} með því að eyða notandaaðgangi þínum.
|
||||
changelog: 'Í stuttu máli er það þetta sem þessi uppfærsla þýðir fyrir þig:'
|
||||
description: 'Þú færð þennan tölvupóst vegna þess að við erum að gera nokkrar breytingar á þjónustuskilmálum okkar á %{domain}. Við hvetjum þig til að yfirfara uppfærðu skilmálana í heild hér:'
|
||||
description_html: Þú færð þennan tölvupóst vegna þess að við erum að gera nokkrar breytingar á þjónustuskilmálum okkar á %{domain}. Við hvetjum þig til að yfirfara <a href="%{path}" target="_blank">uppfærðu skilmálana í heild hér:</a>.
|
||||
sign_off: "%{domain}-teymið"
|
||||
subject: Breytingar á þjónustuskilmálum okkar
|
||||
subtitle: Þjónustuskilmálar eru að breytast á %{domain}
|
||||
|
|
|
@ -1938,8 +1938,6 @@ it:
|
|||
terms_of_service_changed:
|
||||
agreement: Continuando a usare %{domain}, accetti questi termini. Se non sei d'accordo con i termini aggiornati, puoi terminare il tuo accordo con %{domain} in qualsiasi momento eliminando il tuo account.
|
||||
changelog: 'Ecco, in sintesi, cosa significa per te questo aggiornamento:'
|
||||
description: 'Stai ricevendo questa e-mail perché stiamo apportando alcune modifiche ai nostri termini di servizio su %{domain}. Ti invitiamo a leggere i termini aggiornati per intero qui:'
|
||||
description_html: Stai ricevendo questa e-mail perché stiamo apportando alcune modifiche ai nostri termini di servizio su %{domain}. Ti invitiamo a leggere i <a href="%{path}" target="_blank">termini aggiornati per intero qui</a>.
|
||||
sign_off: Il team di %{domain}
|
||||
subject: Aggiornamenti ai nostri termini di servizio
|
||||
subtitle: I termini di servizio di %{domain} stanno cambiando
|
||||
|
|
|
@ -1893,8 +1893,6 @@ ja:
|
|||
terms_of_service_changed:
|
||||
agreement: "%{domain} を引き続き使用することで、これらの条件に同意したことになります。更新された条件に同意しない場合は、アカウントを削除することでいつでも %{domain} との契約を終了することができます。"
|
||||
changelog: 一目で分かる、この更新があなたにとって意味することは次の通りです:
|
||||
description: このメールを受け取っているのは、%{domain} の利用規約にいくつかの変更を加えているためです。更新された利用規約をこちらで全てご確認いただくことをお勧めします:
|
||||
description_html: このメールを受け取っているのは、%{domain} の利用規約にいくつかの変更を加えているためです。<a href="%{path}" target="_blank">こちらで更新された利用規約を全てご確認いただくことをお勧めします</a>。
|
||||
sign_off: "%{domain} チーム"
|
||||
subject: 利用規約の更新
|
||||
subtitle: "%{domain} の利用規約が変更されています"
|
||||
|
|
|
@ -1895,8 +1895,6 @@ ko:
|
|||
terms_of_service_changed:
|
||||
agreement: "%{domain}을 계속 사용하는 것으로 약관에 동의하는 것으로 간주합니다. 약관에 동의하지 않는 경우 계정을 삭제함으로써 언제든 동의를 철회할 수 있습니다."
|
||||
changelog: '이번 변경사항의 주요 내용입니다:'
|
||||
description: "%{domain}의 이용 약관이 변경되었기 때문에 발송된 이메일입니다. 변경된 전체 약관을 확인하시길 권합니다:"
|
||||
description_html: '%{domain}의 이용 약관이 변경되었기 때문에 발송된 이메일입니다. <a href="%{path}" target="_blank">변경된 전체 약관</a>을 확인하시길 권합니다.'
|
||||
sign_off: "%{domain} 팀"
|
||||
subject: 변경된 이용 약관
|
||||
subtitle: "%{domain}의 이용 약관이 변경됩니다"
|
||||
|
|
|
@ -1240,8 +1240,6 @@ lt:
|
|||
terms_of_service_changed:
|
||||
agreement: Tęsiant naudojimąsi %{domain}, jūs sutinkate su šiomis sąlygomis. Jei nesutinkate su atnaujintomis sąlygomis, bet kuriuo metu galite nutraukti sutartį su %{domain} ištrindami savo paskyrą.
|
||||
changelog: Trumpai apie tai, ką šis naujinimas reiškia jums
|
||||
description: 'Šį el. laišką gaunate, nes mes keičiame savo paslaugų sąlygas serveryje %{domain}. Kviečiame susipažinti su visomis atnaujintomis sąlygomis čia:'
|
||||
description_html: Šį el. laišką gaunate, nes mes keičiame savo paslaugų sąlygas serveryje %{domain}. Kviečiame susipažinti su <a href="%{path}" target="_blank">visomis atnaujintomis sąlygomis čia</a>.
|
||||
sign_off: "%{domain} komanda"
|
||||
subject: Paslaugų sąlygų atnaujinimai
|
||||
subtitle: Keičiasi %{domain} paslaugų sąlygos
|
||||
|
|
|
@ -1867,8 +1867,6 @@ lv:
|
|||
terms_of_service_changed:
|
||||
agreement: Ar %{domain} izmantošanas tuprināšanu tiek piekrists šiem noteikumiem. Ja ir iebildumi pret atjauninātajiem noteikumiem, savu piekrišanu var atcelt jebkurā laikā ar sava konta izdzēšanu.
|
||||
changelog: 'Šeit īsumā ir aprakstīts, ko šis atjauninājums nozīmē:'
|
||||
description: 'Šis e-pasta ziņojums tika saņemts, jo mēs veicam dažas izmaiņas savos pakalpojuma izmantošanas noteikumos %{domain}. Mēs aicinām pārskatīt pilnus atjauninātos noteikumus šeit:'
|
||||
description_html: Šis e-pasta ziņojums tika saņemts, jo mēs veicam dažas izmaiņas savos pakalpojuma izmantošanas noteikumos %{domain}. Mēs aicinām pārskatīt <a href="%{path}" target="_blank">pilnus atjauninātos noteikumus šeit</a>.
|
||||
sign_off: "%{domain} komanda"
|
||||
subject: Mūsu pakalpojuma izmantošanas noteikumu atjauninājumi
|
||||
subtitle: Mainās %{domain} pakalpojuma izmantošanas noteikumi
|
||||
|
|
|
@ -1936,8 +1936,6 @@ nl:
|
|||
terms_of_service_changed:
|
||||
agreement: Door %{domain} te blijven gebruiken, ga je akkoord met deze voorwaarden. Als je het niet eens bent met de bijgewerkte voorwaarden, kun je je overeenkomst met %{domain} op elk gewenst moment beëindigen door je account te verwijderen.
|
||||
changelog: 'In een oogopslag betekent deze update voor jou:'
|
||||
description: 'Je ontvangt dit bericht omdat we enkele wijzigingen aanbrengen in onze gebruiksvoorwaarden op %{domain}. We raden je aan om de bijgewerkte voorwaarden hier volledig te bekijken:'
|
||||
description_html: Je ontvangt dit bericht omdat we enkele wijzigingen aanbrengen in onze gebruiksvoorwaarden op %{domain}. We raden je aan om de bijgewerkte <a href="%{path}" target="_blank">voorwaarden hier volledig te bestuderen</a>.
|
||||
sign_off: Het %{domain}-team
|
||||
subject: Onze bijgewerkte gebruiksvoorwaarden
|
||||
subtitle: De gebruiksvoorwaarden van %{domain} veranderen
|
||||
|
|
|
@ -1936,8 +1936,6 @@ nn:
|
|||
terms_of_service_changed:
|
||||
agreement: Viss du held fram å bruka %{domain}, seier du deg einig i vilkåra. Viss du er usamd i dei oppdaterte vilkåra, kan du slutta å bruka %{domain} når du vil ved å sletta brukarkontoen din.
|
||||
changelog: 'Denne oppdateringa, kort fortalt:'
|
||||
description: 'Du får denne eposten fordi me har endra bruksvilkåra på %{domain}. Det er fint om du ser gjennom endringane her:'
|
||||
description_html: Du får denne eposten fordi me endrar bruksvilkåra på %{domain}. Me oppmodar deg til å lesa gjennom <a href="%{path}" target="_blank">dei oppdaterte bruksvilkåra her</a>.
|
||||
sign_off: Folka på %{domain}
|
||||
subject: Endra bruksvilkår
|
||||
subtitle: Bruksvilkåra på %{domain} er endra
|
||||
|
|
|
@ -2022,8 +2022,6 @@ pl:
|
|||
terms_of_service_changed:
|
||||
agreement: Kontynuując używanie %{domain}, zgadzasz się na te warunki. Jeśli nie zgadzasz się ze zaktualizowanymi warunkami, możesz wypowiedzieć umowę z %{domain} w dowolnym momencie, usuwając swoje konto.
|
||||
changelog: 'W skrócie oto co oznacza dla Ciebie ta aktualizacja:'
|
||||
description: 'Otrzymujesz ten e-mail, ponieważ wprowadzamy pewne zmiany w naszym regulaminie usługi w %{domain}. Zachęcamy Cię do pełnego zapoznania się z aktualnymi warunkami:'
|
||||
description_html: Otrzymujesz ten e-mail, ponieważ wprowadzamy pewne zmiany w naszym regulaminie usługi w %{domain}. Zachęcamy do zapoznania się z aktualnymi warunkami <a href="%{path}" target="_blank">w całości tutaj</a>.
|
||||
sign_off: Zespół %{domain}
|
||||
subject: Aktualizacja warunków korzystania z usług
|
||||
subtitle: Warunki korzystania z %{domain} zmieniają się
|
||||
|
|
|
@ -1936,8 +1936,6 @@ pt-BR:
|
|||
terms_of_service_changed:
|
||||
agreement: Ao continuar a usar %{domain}, você concorda com estes termos. Se discordar dos termos atualizados, poderá encerrar seu acordo com %{domain} a qualquer momento excluindo sua conta.
|
||||
changelog: 'Em resumo, veja o que essa atualização significa para você:'
|
||||
description: 'Você está recebendo este e-mail porque estamos fazendo algumas alterações em nossos termos de serviço em %{domain}. Incentivamos você a revisar os termos atualizados na íntegra aqui:'
|
||||
description_html: Você está recebendo este e-mail porque estamos fazendo algumas alterações em nossos termos de serviço em %{domain}. Incentivamos você a revisar os <a href="%{path}" target="_blank">termos atualizados na íntegra aqui</a>.
|
||||
sign_off: A equipe do %{domain}
|
||||
subject: Atualizações dos nossos termos de serviço
|
||||
subtitle: Os termos de serviço do %{domain} estão mudando.
|
||||
|
|
|
@ -1936,8 +1936,6 @@ pt-PT:
|
|||
terms_of_service_changed:
|
||||
agreement: Ao continuar a utilizar %{domain}, concordas com estes termos. Se discordares dos termos atualizados, poderás rescindir o teu acordo com %{domain} a qualquer momento através da eliminação da tua conta.
|
||||
changelog: 'Em resumo, eis o que esta atualização significa para ti:'
|
||||
description: 'Estás a receber esta mensagem de correio eletrónico porque estamos a fazer algumas alterações aos nossos termos de serviço em %{domain}. Recomendamos que revejas os termos atualizados na íntegra aqui:'
|
||||
description_html: Estás a receber esta mensagem de correio eletrónico porque estamos a fazer algumas alterações aos nossos termos de serviço em %{domain}. Recomendamos que revejas os <a href="%{path}" target="_blank">termos atualizados na íntegra aqui</a>.
|
||||
sign_off: A equipa de %{domain}
|
||||
subject: Atualizações dos nossos termos de serviço
|
||||
subtitle: Os termos de serviço de %{domain} estão a mudar
|
||||
|
|
|
@ -2022,8 +2022,6 @@ ru:
|
|||
terms_of_service_changed:
|
||||
agreement: Продолжая использовать %{domain}, вы соглашаетесь с этими условиями. Если вы не согласны с новыми условиями, вы в любой момент можете удалить вашу учётную запись на %{domain}.
|
||||
changelog: 'Вот что обновление условий будет значит для вас в общих чертах:'
|
||||
description: 'Вы получили это сообщение, потому что мы внесли некоторые изменения в пользовательское соглашение %{domain}. Рекомендуем вам ознакомиться с обновлёнными условиями по ссылке:'
|
||||
description_html: Вы получили это сообщение, потому что мы внесли некоторые изменения в пользовательское соглашение %{domain}. Рекомендуем вам ознакомиться с <a href="%{path}" target="_blank">обновлёнными условиями</a>.
|
||||
sign_off: Ваш %{domain}
|
||||
subject: Обновления наших условий использования
|
||||
subtitle: На %{domain} изменилось пользовательское соглашение
|
||||
|
|
|
@ -132,6 +132,7 @@ en:
|
|||
name: You can only change the casing of the letters, for example, to make it more readable
|
||||
terms_of_service:
|
||||
changelog: Can be structured with Markdown syntax.
|
||||
effective_date: A reasonable timeframe can range anywhere from 10 to 30 days from the date you notify your users.
|
||||
text: Can be structured with Markdown syntax.
|
||||
terms_of_service_generator:
|
||||
admin_email: Legal notices include counternotices, court orders, takedown requests, and law enforcement requests.
|
||||
|
@ -334,6 +335,7 @@ en:
|
|||
usable: Allow posts to use this hashtag locally
|
||||
terms_of_service:
|
||||
changelog: What's changed?
|
||||
effective_date: Effective date
|
||||
text: Terms of Service
|
||||
terms_of_service_generator:
|
||||
admin_email: Email address for legal notices
|
||||
|
|
|
@ -1930,8 +1930,6 @@ sq:
|
|||
terms_of_service_changed:
|
||||
agreement: Duke vazhduar të përdorni %{domain}, pajtoheni më këto terma. Nëse s’pajtoheni me termat e përditësuar, mund të përfundoni pajtimin tuaj me %{domain} në çfarëdo kohe, përmes fshirjes së llogarisë tuaj.
|
||||
changelog: 'Me një vështrim, ja se ç’do të thotë ky përditësim për ju:'
|
||||
description: 'Po e merrni këtë email ngaqë po bëjmë disa ndryshime te kushtet tona të shërbimit në %{domain}. Ju nxisim të shqyrtoni termat e përditësuar të plotë këtu:'
|
||||
description_html: Po e merrni këtë email ngaqë po bëjmë disa ndryshime në kushtet tona të shërbimit te %{domain}. Ju nxisim të shqyrtoni <a href="%{path}" target="_blank">termat e përditësuar të plotë këtu</a>.
|
||||
sign_off: Ekipi i %{domain}
|
||||
subject: Përditësime të termave tanë të shërbimit
|
||||
subtitle: Termat e shërbimit të %{domain} po ndryshojnë
|
||||
|
|
|
@ -1936,8 +1936,6 @@ sv:
|
|||
terms_of_service_changed:
|
||||
agreement: Genom att fortsätta använda %{domain} godkänner du dessa villkor. Om du inte håller med om de uppdaterade villkoren kan du när som helst säga upp ditt avtal med %{domain} genom att radera ditt konto.
|
||||
changelog: 'I korthet, här är vad denna uppdatering innebär för dig:'
|
||||
description: 'Du får detta e-postmeddelande eftersom vi gör vissa ändringar i våra användarvillkor på %{domain}. Vi uppmanar dig att granska de uppdaterade villkoren i sin helhet här:'
|
||||
description_html: Du får detta e-postmeddelande eftersom vi gör vissa ändringar i våra användarvillkor på %{domain}. Vi uppmanar dig att granska de uppdaterade villkoren i <a href="%{path}" target="_blank">sin helhet här</a>.
|
||||
sign_off: "%{domain} teamet"
|
||||
subject: Uppdateringar till våra användarvillkor
|
||||
subtitle: Villkoren för tjänsten på %{domain} ändras
|
||||
|
|
|
@ -1936,8 +1936,6 @@ tr:
|
|||
terms_of_service_changed:
|
||||
agreement: "%{domain} sunucusunu kullanmaya devam ederek bu şartları kabul etmiş olursunuz. Güncellenen şartları kabul etmiyorsanız, %{domain} ile olan sözleşmenizi istediğiniz zaman hesabınızı silerek feshedebilirsiniz."
|
||||
changelog: 'Bir bakışta, bu güncellemenin sizin için anlamı şudur:'
|
||||
description: 'Bu e-postayı alıyorsunuz çünkü %{domain} adresindeki hizmet şartlarımızda bazı değişiklikler yapıyoruz. Aşağıda tümü yer alan güncellenen şartları incelemenizi öneriyoruz:'
|
||||
description_html: Bu e-postayı alıyorsunuz çünkü %{domain} adresindeki hizmet şartlarımızda bazı değişiklikler yapıyoruz. <a href="%{path}" target="_blank">Tüm güncellenen şartları buraya tıklayarak</a> incelemenizi öneririz.
|
||||
sign_off: "%{domain} Ekibi"
|
||||
subject: Şimdiki hizmet şartlarımıza güncellemeler
|
||||
subtitle: "%{domain} adresindeki hizmet şartları değişiyor"
|
||||
|
|
|
@ -1955,8 +1955,6 @@ uk:
|
|||
terms_of_service_changed:
|
||||
agreement: Далі використовуючи %{domain}, ви погоджуєтеся з цими умовами. Якщо ви не згодні з оновленими умовами, ви можете припинити свою угоду з %{domain} будь-якої миті, видаливши ваш обліковий запис.
|
||||
changelog: 'Коротко, ось що це оновлення означає для вас:'
|
||||
description: 'Ви отримали цього електронного листа, тому що ми впроваджуємо деякі зміни в наші умови обслуговування в %{domain}. Радимо переглянути оновлені умови повністю тут:'
|
||||
description_html: Ви отримали цього електронного листа, тому що ми впроваджуємо деякі зміни до наших умов обслуговування в %{domain}. Радимо переглянути <a href="%{path}" target="_blank">повністю оновлені умови тут</a>.
|
||||
sign_off: Команда %{domain}
|
||||
subject: Оновлення до наших умов обслуговування
|
||||
subtitle: Умови використання %{domain} змінюються
|
||||
|
|
|
@ -1893,8 +1893,6 @@ vi:
|
|||
terms_of_service_changed:
|
||||
agreement: Tiếp tục sử dụng %{domain}, đồng nghĩa bạn đồng ý điều khoản dịch vụ. Nếu bạn không đồng ý với các điều khoản đã cập nhật, hãy xóa tài khoản %{domain} của bạn.
|
||||
changelog: 'Nhìn sơ qua, bản cập nhật này:'
|
||||
description: 'Bạn nhận được email này vì chúng tôi đang thực hiện một số thay đổi đối với các điều khoản dịch vụ tại %{domain}. Hãy xem lại đầy đủ các điều khoản đã cập nhật tại đây:'
|
||||
description_html: Bạn nhận được email này vì chúng tôi đang thực hiện một số thay đổi đối với các điều khoản dịch vụ tại %{domain}. Hãy xem lại <a href="%{path}" target="_blank">đầy đủ các điều khoản được cập nhật ở đây</a>.
|
||||
sign_off: Đội ngũ %{domain}
|
||||
subject: Cập nhật điều khoản dịch vụ
|
||||
subtitle: Điều khoản dịch vụ tại %{domain} đã thay đổi
|
||||
|
|
|
@ -1893,8 +1893,6 @@ zh-CN:
|
|||
terms_of_service_changed:
|
||||
agreement: 继续使用你在 %{domain} 的账号即表示您同意这些条款。如果你不同意更新后的条款,你可以随时删除账号以终止与 %{domain} 的协议。
|
||||
changelog: 本次更新的要点如下:
|
||||
description: 你收到此邮件是因为我们更新了 %{domain} 的服务条款。我们建议你在此查看变更后的服务条款:
|
||||
description_html: 你收到此邮件是因为我们更新了 %{domain} 的服务条款。我们建议你在此查看<a href="%{path}" target="_blank">变更后的服务条款</a>。
|
||||
sign_off: "%{domain} 运营团队"
|
||||
subject: 服务条款变更
|
||||
subtitle: "%{domain} 更新了服务条款"
|
||||
|
|
|
@ -1895,8 +1895,6 @@ zh-TW:
|
|||
terms_of_service_changed:
|
||||
agreement: 透過繼續使用 %{domain},您將同意這些條款。若您不同意此條款異動,您能隨時終止與 %{domain} 之協議並刪除您的帳號。
|
||||
changelog: 簡而言之,此次更新對您將意味著:
|
||||
description: 您收到此 e-mail 係因我們正在更新 %{domain} 之服務條款。我們鼓勵您審視此處之服務條款更新全文:
|
||||
description_html: 您收到此 e-mail 係因我們正在更新 %{domain} 之服務條款。我們鼓勵您審視 <a href="%{path}" target="_blank">此處之服務條款更新全文</a>。
|
||||
sign_off: "%{domain} 團隊"
|
||||
subject: 我們的服務條款更新
|
||||
subtitle: "%{domain} 之服務條款正在悄悄發生變化"
|
||||
|
|
|
@ -204,7 +204,8 @@ Rails.application.routes.draw do
|
|||
|
||||
get '/privacy-policy', to: 'privacy#show', as: :privacy_policy
|
||||
get '/terms-of-service', to: 'terms_of_service#show', as: :terms_of_service
|
||||
get '/terms', to: redirect('/terms-of-service')
|
||||
get '/terms-of-service/:date', to: 'terms_of_service#show', as: :terms_of_service_version
|
||||
get '/terms', to: redirect('/terms-of-service')
|
||||
|
||||
match '/', via: [:post, :put, :patch, :delete], to: 'application#raise_not_found', format: false
|
||||
match '*unmatched_route', via: :all, to: 'application#raise_not_found', format: false
|
||||
|
|
|
@ -121,6 +121,8 @@ namespace :api, format: false do
|
|||
resource :translation_languages, only: [:show]
|
||||
resource :languages, only: [:show]
|
||||
resource :activity, only: [:show], controller: :activity
|
||||
|
||||
get '/terms_of_service/:date', to: 'terms_of_services#show'
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddEffectiveDateToTermsOfServices < ActiveRecord::Migration[8.0]
|
||||
def change
|
||||
add_column :terms_of_services, :effective_date, :date
|
||||
end
|
||||
end
|
|
@ -0,0 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddEffectiveDateIndexToTermsOfServices < ActiveRecord::Migration[8.0]
|
||||
disable_ddl_transaction!
|
||||
|
||||
def change
|
||||
add_index :terms_of_services, :effective_date, unique: true, algorithm: :concurrently, where: 'effective_date IS NOT NULL'
|
||||
end
|
||||
end
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[8.0].define(version: 2025_01_29_144813) do
|
||||
ActiveRecord::Schema[8.0].define(version: 2025_03_05_074104) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pg_catalog.plpgsql"
|
||||
|
||||
|
@ -1110,6 +1110,9 @@ ActiveRecord::Schema[8.0].define(version: 2025_01_29_144813) do
|
|||
t.datetime "notification_sent_at"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.date "effective_date"
|
||||
t.index ["effective_date"], name: "index_terms_of_services_on_effective_dat
|
||||
e", unique: true, where: "(effective_date IS NOT NULL)"
|
||||
end
|
||||
|
||||
create_table "tombstones", force: :cascade do |t|
|
||||
|
|
|
@ -5,4 +5,5 @@ Fabricator(:terms_of_service) do
|
|||
changelog { Faker::Lorem.paragraph }
|
||||
published_at { Time.zone.now }
|
||||
notification_sent_at { Time.zone.now }
|
||||
effective_date { Faker::Date.forward }
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user