Merge pull request #13337 from overleaf/jpa-translate-plans-page

[web] translate all the things on the plans page (to German)

GitOrigin-RevId: cbd812a4eca41573986c2d9e4f5e37b3d5a49e4f
This commit is contained in:
Jakob Ackermann
2023-07-19 08:03:57 +00:00
committed by Copybot
parent 38c673d057
commit d212be408f
14 changed files with 221 additions and 151 deletions
@@ -10,8 +10,8 @@ const config = {
highlightedColumn: {
index: 1,
text: {
monthly: 'MOST POPULAR',
annual: 'MOST POPULAR',
monthly: 'most_popular',
annual: 'most_popular',
},
},
eventTrackingKey: 'paywall-plans-page-click',
@@ -25,10 +25,10 @@ const config = {
info: 'number_of_users_info',
value: 'str',
plans: {
personal: '1 user',
collaborator: '1 user',
professional: '1 user',
student: '1 user',
personal: 'one_user',
collaborator: 'one_user',
professional: 'one_user',
student: 'one_user',
},
},
{
@@ -36,10 +36,10 @@ const config = {
info: 'max_collab_per_project_info',
value: 'str',
plans: {
personal: 'You + 1',
collaborator: 'You + 10',
professional: 'Unlimited',
student: 'You + 6',
personal: 'you_plus_1',
collaborator: 'you_plus_10',
professional: 'unlimited',
student: 'you_plus_6',
},
},
],
@@ -54,10 +54,10 @@ const config = {
info: 'compile_timeout_short_info',
value: 'str',
plans: {
personal: '4 minutes',
collaborator: '4 minutes',
professional: '4 minutes',
student: '4 minutes',
personal: 'four_minutes',
collaborator: 'four_minutes',
professional: 'four_minutes',
student: 'four_minutes',
},
},
{
@@ -13,8 +13,8 @@ const config = {
highlightedColumn: {
index: 2,
text: {
monthly: 'MOST POPULAR',
annual: 'MOST POPULAR',
monthly: 'most_popular',
annual: 'most_popular',
},
},
eventTrackingKey: 'plans-page-click',
@@ -30,7 +30,7 @@ const config = {
highlightedColumn: {
index: 0,
text: {
annual: 'MOST POPULAR',
annual: 'most_popular',
},
},
eventTrackingKey: 'plans-page-click',
@@ -52,8 +52,8 @@ const config = {
highlightedColumn: {
index: 1,
text: {
monthly: 'SAVE 20% ON ANNUAL PLAN',
annual: 'SAVING 20%',
monthly: 'save_20_percent_by_paying_annually',
annual: 'saving_20_percent',
},
},
eventTrackingKey: 'plans-page-click',
@@ -7,10 +7,10 @@ const individualPlans = [
info: 'number_of_users_info',
value: 'str',
plans: {
free: '1 user',
personal: '1 user',
collaborator: '1 user',
professional: '1 user',
free: 'one_user',
personal: 'one_user',
collaborator: 'one_user',
professional: 'one_user',
},
},
{
@@ -18,10 +18,10 @@ const individualPlans = [
info: 'max_collab_per_project_info',
value: 'str',
plans: {
free: 'You + 1',
personal: 'You + 1',
collaborator: 'You + 10',
professional: 'Unlimited',
free: 'you_plus_1',
personal: 'you_plus_1',
collaborator: 'you_plus_10',
professional: 'unlimited',
},
},
],
@@ -36,10 +36,10 @@ const individualPlans = [
info: 'compile_timeout_short_info',
value: 'str',
plans: {
free: '1 minute',
personal: '4 minutes',
collaborator: '4 minutes',
professional: '4 minutes',
free: 'one_minute',
personal: 'four_minutes',
collaborator: 'four_minutes',
professional: 'four_minutes',
},
},
{
@@ -205,9 +205,9 @@ const groupPlans = [
info: 'number_of_users_info',
value: 'str',
plans: {
group_standard: '2 users',
group_professional: '2 users',
organization: 'Contact sales',
group_standard: 'two_users',
group_professional: 'two_users',
organization: 'contact_sales',
},
},
{
@@ -215,9 +215,9 @@ const groupPlans = [
info: 'max_collab_per_project_info',
value: 'str',
plans: {
group_standard: 'Project author + 10',
group_professional: 'Unlimited',
organization: 'Unlimited',
group_standard: 'project_owner_plus_10',
group_professional: 'unlimited',
organization: 'unlimited',
},
},
],
@@ -232,9 +232,9 @@ const groupPlans = [
info: 'user_management_info',
value: 'str',
plans: {
group_standard: 'admin panel',
group_professional: 'admin panel',
organization: 'automatic user registration',
group_standard: 'subscription_admin_panel',
group_professional: 'subscription_admin_panel',
organization: 'automatic_user_registration',
},
},
{
@@ -309,9 +309,9 @@ const groupPlans = [
info: 'compile_timeout_short_info',
value: 'str',
plans: {
group_standard: '4 minutes',
group_professional: '4 minutes',
organization: '4 minutes',
group_standard: 'four_minutes',
group_professional: 'four_minutes',
organization: 'four_minutes',
},
},
{
@@ -464,8 +464,8 @@ const studentPlans = [
info: 'number_of_users_info',
value: 'str',
plans: {
free: '1 user',
student: '1 user',
free: 'one_user',
student: 'one_user',
},
},
{
@@ -473,8 +473,8 @@ const studentPlans = [
info: 'max_collab_per_project_info',
value: 'str',
plans: {
free: 'You + 1',
student: 'You + 6',
free: 'you_plus_1',
student: 'you_plus_6',
},
},
],
@@ -489,8 +489,8 @@ const studentPlans = [
info: 'compile_timeout_short_info',
value: 'str',
plans: {
free: '1 minute',
student: '4 minutes',
free: 'one_minute',
student: 'four_minutes',
},
},
{
@@ -10,8 +10,8 @@ const config = {
highlightedColumn: {
index: 1,
text: {
monthly: 'MOST POPULAR',
annual: 'MOST POPULAR',
monthly: 'most_popular',
annual: 'most_popular',
},
},
eventTrackingKey: 'paywall-plans-page-click',
@@ -25,21 +25,21 @@ const config = {
info: 'number_of_users_info',
value: 'str',
plans: {
free: '1 user',
collaborator: '1 user',
professional: '1 user',
student: '1 user',
free: 'one_user',
collaborator: 'one_user',
professional: 'one_user',
student: 'one_user',
},
},
{
feature: 'max_collab_per_project',
info: 'max_collab_per_project_info',
value: 'richText',
value: 'str',
plans: {
free: 'You + 1',
collaborator: 'You + 10',
professional: '<b>Unlimited</b>',
student: 'You + 6',
free: 'you_plus_1',
collaborator: 'you_plus_10',
professional: 'unlimited_bold',
student: 'you_plus_6',
},
},
],
@@ -54,10 +54,10 @@ const config = {
info: 'compile_timeout_short_info',
value: 'str',
plans: {
free: '1 minute',
collaborator: '4 minutes',
professional: '4 minutes',
student: '4 minutes',
free: 'one_minute',
collaborator: 'four_minutes',
professional: 'four_minutes',
student: 'four_minutes',
},
},
{
@@ -12,8 +12,8 @@ const config = {
highlightedColumn: {
index: 1,
text: {
monthly: 'MOST POPULAR',
annual: 'MOST POPULAR',
monthly: 'most_popular',
annual: 'most_popular',
},
},
eventTrackingKey: 'plans-page-click',
@@ -29,7 +29,7 @@ const config = {
highlightedColumn: {
index: 0,
text: {
annual: 'MOST POPULAR',
annual: 'most_popular',
},
},
eventTrackingKey: 'plans-page-click',
@@ -51,8 +51,8 @@ const config = {
highlightedColumn: {
index: 1,
text: {
monthly: 'SAVE 20% ON ANNUAL PLAN',
annual: 'SAVING 20%',
monthly: 'save_20_percent_by_paying_annually',
annual: 'saving_20_percent',
},
},
eventTrackingKey: 'plans-page-click',
@@ -7,19 +7,19 @@ const individualPlans = [
info: 'number_of_users_info',
value: 'str',
plans: {
free: '1 user',
collaborator: '1 user',
professional: '1 user',
free: 'one_user',
collaborator: 'one_user',
professional: 'one_user',
},
},
{
feature: 'max_collab_per_project',
info: 'max_collab_per_project_info',
value: 'richText',
value: 'str',
plans: {
free: 'You + 1',
collaborator: 'You + 10',
professional: '<b>Unlimited</b>',
free: 'you_plus_1',
collaborator: 'you_plus_10',
professional: 'unlimited_bold',
},
},
],
@@ -34,9 +34,9 @@ const individualPlans = [
info: 'compile_timeout_short_info',
value: 'str',
plans: {
free: '1 minute',
collaborator: '4 minutes',
professional: '4 minutes',
free: 'one_minute',
collaborator: 'four_minutes',
professional: 'four_minutes',
},
},
{
@@ -189,19 +189,19 @@ const groupPlans = [
info: 'number_of_users_info',
value: 'str',
plans: {
group_standard: '2 users',
group_professional: '2 users',
organization: 'Contact sales',
group_standard: 'two_users',
group_professional: 'two_users',
organization: 'contact_sales',
},
},
{
feature: 'max_collab_per_project',
info: 'max_collab_per_project_info',
value: 'richText',
value: 'str',
plans: {
group_standard: 'Project author + 10',
group_professional: '<b>Unlimited</b>',
organization: '<b>Unlimited</b>',
group_standard: 'project_owner_plus_10',
group_professional: 'unlimited_bold',
organization: 'unlimited_bold',
},
},
],
@@ -216,9 +216,9 @@ const groupPlans = [
info: 'user_management_info',
value: 'str',
plans: {
group_standard: 'admin panel',
group_professional: 'admin panel',
organization: 'automatic user registration',
group_standard: 'subscription_admin_panel',
group_professional: 'subscription_admin_panel',
organization: 'automatic_user_registration',
},
},
{
@@ -293,9 +293,9 @@ const groupPlans = [
info: 'compile_timeout_short_info',
value: 'str',
plans: {
group_standard: '4 minutes',
group_professional: '4 minutes',
organization: '4 minutes',
group_standard: 'four_minutes',
group_professional: 'four_minutes',
organization: 'four_minutes',
},
},
{
@@ -448,8 +448,8 @@ const studentPlans = [
info: 'number_of_users_info',
value: 'str',
plans: {
free: '1 user',
student: '1 user',
free: 'one_user',
student: 'one_user',
},
},
{
@@ -457,8 +457,8 @@ const studentPlans = [
info: 'max_collab_per_project_info',
value: 'str',
plans: {
free: 'You + 1',
student: 'You + 6',
free: 'you_plus_1',
student: 'you_plus_6',
},
},
],
@@ -473,8 +473,8 @@ const studentPlans = [
info: 'compile_timeout_short_info',
value: 'str',
plans: {
free: '1 minute',
student: '4 minutes',
free: 'one_minute',
student: 'four_minutes',
},
},
{
@@ -12,7 +12,7 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal)
aria-label=translate("close")
)
span(aria-hidden="true") &times;
h2 Customize your group subscription
h2 #{translate("customize_your_group_subscription")}
h3 #{translate("save_30_percent_or_more_uppercase")}
.modal-body.plans.group-subscription-modal
.container-fluid
@@ -20,11 +20,11 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal)
.col-md-6.text-center
.circle.circle-lg
span(data-ol-group-plan-display-price) ...
span.small / year
span.small / #{translate('year')}
br
span.circle-subtext(data-ol-group-plan-price-per-user) ...
span.circle-subtext(data-ol-group-plan-price-per-user=translate('per_user')) ...
ul.list-unstyled
li Each user will have access to:
li #{translate('each_user_will_have_access_to')}:
li &nbsp;
li(
hidden=(groupPlanModalDefaults.plan_code !== 'collaborator')
@@ -41,7 +41,7 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal)
form.form(data-ol-group-plan-form)
.form-group
label(for='plan_code')
| Plan
| #{translate('plan')}
for plan_code in groupPlanModalOptions.plan_codes
label.group-plan-option
input(
@@ -51,7 +51,7 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal)
value=plan_code.code
data-ol-group-plan-code=plan_code.code
)
span #{plan_code.display}
span #{translate(plan_code.i18n)}
.form-group
label(for='size')
| #{translate('number_of_users')}
@@ -69,7 +69,7 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal)
) #{size}
.form-group(data-ol-group-plan-form-currency)
label(for='currency')
| Currency
| #{translate('currency')}
select.form-control(id="currency")
for currency in groupPlanModalOptions.currencies
option(
@@ -78,7 +78,7 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal)
) #{currency.display}
.form-group
label(for='usage')
| Overleaf offers a 40% educational discount for groups of 10 or more.
| #{translate('educational_discount_for_groups_of_ten_or_more')}
label.group-plan-option
input(
id="usage"
@@ -89,16 +89,16 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal)
event-tracking-trigger="click"
event-tracking-element="checkbox"
)
span This license is for educational purposes (applies to students or faculty using Overleaf for teaching)
span #{translate('educational_discount_disclaimer')}
.row
.col-md-12.text-center
.educational-discount-badge
div(hidden=(groupPlanModalDefaults.usage !== 'educational') data-ol-group-plan-educational-discount)
p.applied(hidden=true data-ol-group-plan-educational-discount-applied)
| 40% educational discount applied!
| #{translate('educational_discount_applied')}
p.ineligible(hidden=true data-ol-group-plan-educational-discount-ineligible)
| The educational discount is available for groups of 10 or more
| #{translate('educational_discount_available_for_groups_of_ten_or_more')}
.modal-footer
.text-center
button.btn.btn-primary.btn-lg(
@@ -106,10 +106,10 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal)
event-tracking="form-submitted-groups-modal-purchase-click"
event-tracking-mb="true"
event-tracking-trigger="click"
) Purchase Now
) #{translate('purchase_now')}
hr.thin
a(
href
data-ol-open-contact-form-for-more-than-50-licenses
) Need more than 50 licenses? Please get in touch
) #{translate('need_more_than_to_licenses_get_in_touch')}
@@ -40,9 +40,9 @@ mixin plans_v2_table(period, config)
)
.plans-v2-table-th
if (discountHighlighted)
p.plans-v2-table-discount-highlighted-text !{config.discountedColumn.text[period]}
p.plans-v2-table-discount-highlighted-text #{translate(config.discountedColumn.text[period]).toUpperCase()}
if (highlighted)
p.plans-v2-table-green-highlighted-text !{config.highlightedColumn.text[period]}
p.plans-v2-table-green-highlighted-text #{translate(config.highlightedColumn.text[period]).toUpperCase()}
case tableHeadKey
when 'individual_free'
+table_head_individual_free(highlighted, period)
@@ -208,7 +208,7 @@ mixin table_head_group_collaborator(highlighted, eventTrackingKey, additionalEve
p.plans-v2-table-price
span(data-ol-plans-v2-group-price-per-user='collaborator') #{initialLocalizedGroupPrice.pricePerUser.collaborator}
p.plans-v2-table-price-period-label
| per user / year
| #{translate("per_user_year")}
.plans-v2-table-btn-buy-container-mobile
+btn_buy_group_collaborator(highlighted, eventTrackingKey)
+additional_link_group(eventTrackingKey, additionalEventSegmentation, 'group_collaborator')
@@ -229,7 +229,7 @@ mixin table_head_group_professional(highlighted, eventTrackingKey, additionalEve
p.plans-v2-table-price
span(data-ol-plans-v2-group-price-per-user='professional') #{initialLocalizedGroupPrice.pricePerUser.professional}
p.plans-v2-table-price-period-label
| per user / year
| #{translate("per_user_year")}
.plans-v2-table-btn-buy-container-mobile
+btn_buy_group_professional(highlighted, eventTrackingKey)
+additional_link_group(eventTrackingKey, additionalEventSegmentation, 'group_professional')
@@ -336,7 +336,7 @@ mixin table_cell(feature, plan)
data-ol-plans-v2-table-cell-feature=featureName
)
if (feature.value === 'str')
| #{planValue}
| !{translate(planValue, {}, ['strong'])}
else if (feature.value === 'bool')
if (planValue)
i.fa.fa-check(aria-hidden="true")
@@ -31,13 +31,13 @@ block content
| &nbsp;
span #{translate("subject_to_additional_vat")}
i.fa.fa-cc-mastercard.fa-2x(aria-hidden="true") &nbsp;
span.sr-only Mastercard accepted
span.sr-only #{translate('payment_method_accepted', { paymentMethod: 'Mastercard' })}
i.fa.fa-cc-visa.fa-2x(aria-hidden="true") &nbsp;
span.sr-only Visa accepted
span.sr-only #{translate('payment_method_accepted', { paymentMethod: 'Visa' })}
i.fa.fa-cc-amex.fa-2x(aria-hidden="true") &nbsp;
span.sr-only Amex accepted
span.sr-only #{translate('payment_method_accepted', { paymentMethod: 'Amex' })}
i.fa.fa-cc-paypal.fa-2x(aria-hidden="true") &nbsp;
span.sr-only Paypal accepted
span.sr-only #{translate('payment_method_accepted', { paymentMethod: 'Paypal' })}
include ./v2/_university_info
@@ -40,9 +40,9 @@ mixin plans_v2_table(period, config)
)
.plans-v2-table-th
if (discountHighlighted)
p.plans-v2-table-discount-highlighted-text !{config.discountedColumn.text[period]}
p.plans-v2-table-discount-highlighted-text #{translate(config.discountedColumn.text[period]).toUpperCase()}
if (highlighted)
p.plans-v2-table-green-highlighted-text !{config.highlightedColumn.text[period]}
p.plans-v2-table-green-highlighted-text #{translate(config.highlightedColumn.text[period]).toUpperCase()}
case tableHeadKey
when 'individual_free'
+table_head_individual_free(highlighted, period)
@@ -194,7 +194,7 @@ mixin table_head_group_collaborator(highlighted, eventTrackingKey, additionalEve
p.plans-v2-table-price
span(data-ol-plans-v2-group-price-per-user='collaborator') #{initialLocalizedGroupPrice.pricePerUser.collaborator}
p.plans-v2-table-price-period-label
| per user / year
| #{translate('per_user_year')}
.plans-v2-table-btn-buy-container-mobile
+btn_buy_group_collaborator(highlighted, eventTrackingKey)
+additional_link_group(eventTrackingKey, additionalEventSegmentation, 'group_collaborator')
@@ -215,7 +215,7 @@ mixin table_head_group_professional(highlighted, eventTrackingKey, additionalEve
p.plans-v2-table-price
span(data-ol-plans-v2-group-price-per-user='professional') #{initialLocalizedGroupPrice.pricePerUser.professional}
p.plans-v2-table-price-period-label
| per user / year
| #{translate('per_user_year')}
.plans-v2-table-btn-buy-container-mobile
+btn_buy_group_professional(highlighted, eventTrackingKey)
+additional_link_group(eventTrackingKey, additionalEventSegmentation, 'group_professional')
@@ -322,10 +322,8 @@ mixin table_cell(feature, plan)
data-ol-plans-v2-table-cell-plan=plan
data-ol-plans-v2-table-cell-feature=featureName
)
if (feature.value === 'richText')
| !{planValue}
else if (feature.value === 'str')
| #{planValue}
if (feature.value === 'str')
| !{translate(planValue, {}, ['strong'])}
else if (feature.value === 'bool')
if (planValue)
i.fa.fa-check(aria-hidden="true")