mobile: localize strings

This commit is contained in:
Ammar Ahmed
2025-08-22 12:10:26 +05:00
committed by Abdullah Atta
parent 1a544754ef
commit ae17b34be9
8 changed files with 698 additions and 156 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -16,12 +16,17 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { Plan } from "@notesnook/core";
import { strings } from "@notesnook/intl";
import { useThemeColors } from "@notesnook/theme";
import dayjs from "dayjs";
import React, { useState } from "react";
import { ScrollView, Text, TouchableOpacity, View } from "react-native";
import Config from "react-native-config";
import * as RNIap from "react-native-iap";
import Icon from "react-native-vector-icons/MaterialCommunityIcons";
import { WebView } from "react-native-webview";
import { db } from "../../../common/database";
import useGlobalSafeAreaInsets from "../../../hooks/use-global-safe-area-insets";
import usePricingPlans from "../../../hooks/use-pricing-plans";
import { openLinkInBrowser } from "../../../utils/functions";
@@ -30,10 +35,6 @@ import { DefaultAppStyles } from "../../../utils/styles";
import { Button } from "../../ui/button";
import Heading from "../../ui/typography/heading";
import Paragraph from "../../ui/typography/paragraph";
import Config from "react-native-config";
import { Plan } from "@notesnook/core";
import { db } from "../../../common/database";
import { WebView } from "react-native-webview";
const isGithubRelease = Config.GITHUB_RELEASE === "true";
export const BuyPlan = (props: {
planId: string;
@@ -157,14 +158,14 @@ export const BuyPlan = (props: {
}}
>
<Heading color={colors.primary.paragraph} size={AppFontSize.sm}>
Due today{" "}
{strings.dueToday()}{" "}
{pricingPlans.userCanRequestTrial ? (
<Text
style={{
color: colors.primary.accent
}}
>
({billingDuration?.duration} days free)
({strings.daysFree(`${billingDuration?.duration || 0}`)})
</Text>
) : null}
</Heading>
@@ -190,10 +191,11 @@ export const BuyPlan = (props: {
}}
>
<Paragraph color={colors.secondary.paragraph}>
Due{" "}
{dayjs()
.add(billingDuration?.duration || 0, "day")
.format("DD MMMM")}
{strings.due(
dayjs()
.add(billingDuration?.duration || 0, "day")
.format("DD MMMM")
)}
</Paragraph>
<Paragraph color={colors.secondary.paragraph}>
{pricingPlans.getStandardPrice(
@@ -214,13 +216,12 @@ export const BuyPlan = (props: {
}}
>
{(is5YearPlanSelected
? [
"One time purchase, no auto-renewal",
"Pay once and use for 5 years"
]
? strings["5yearPlanConditions"]()
: [
`Free ${billingDuration?.duration} day trial, cancel any time`,
"Google will remind you before your trial ends"
strings.trialPlanConditions[0](
billingDuration?.duration as number
),
strings.trialPlanConditions[1](0)
]
).map((item) => (
<View
@@ -248,10 +249,10 @@ export const BuyPlan = (props: {
loading={pricingPlans.loading}
title={
is5YearPlanSelected
? "Purchase"
? strings.purchase()
: pricingPlans?.userCanRequestTrial
? "Subscribe and start free trial"
: "Subscribe"
? strings.subscribeAndStartTrial()
: strings.subscribe()
}
onPress={async () => {
if (isGithubRelease) {
@@ -283,8 +284,8 @@ export const BuyPlan = (props: {
size={AppFontSize.xs}
>
{is5YearPlanSelected
? `This is a one time purchase, no subscription.`
: `Cancel anytime, subscription auto-renews.`}
? strings.oneTimePurchase()
: strings.cancelAnytimeAlt()}
</Heading>
<Heading
style={{
@@ -293,7 +294,7 @@ export const BuyPlan = (props: {
color={colors.secondary.paragraph}
size={AppFontSize.xs}
>
By joining you agree to our{" "}
{strings.subTerms[0]()}{" "}
<Text
style={{
textDecorationLine: "underline"
@@ -302,9 +303,9 @@ export const BuyPlan = (props: {
openLinkInBrowser("https://notesnook.com/privacy");
}}
>
privacy policy
{strings.subTerms[1]()}
</Text>{" "}
and{" "}
{strings.subTerms[2]()}{" "}
<Text
style={{
textDecorationLine: "underline"
@@ -313,9 +314,8 @@ export const BuyPlan = (props: {
openLinkInBrowser("https://notesnook.com/tos");
}}
>
terms of use
{strings.subTerms[3]()}
</Text>
.
</Heading>
</View>
</ScrollView>
@@ -399,15 +399,16 @@ const ProductItem = (props: {
}}
>
<Heading color={colors.static.white} size={AppFontSize.xs}>
Best value -{" "}
{isGithubRelease
? (product as Plan).discount?.amount
: props.pricingPlans.compareProductPrice(
props.pricingPlans.currentPlan?.id as string,
`notesnook.${props.pricingPlans.currentPlan?.id}.yearly`,
`notesnook.${props.pricingPlans.currentPlan?.id}.monthly`
)}
% Off
{strings.bestValue()} -{" "}
{strings.percentOff(
(isGithubRelease
? (product as Plan).discount?.amount
: props.pricingPlans.compareProductPrice(
props.pricingPlans.currentPlan?.id as string,
`notesnook.${props.pricingPlans.currentPlan?.id}.yearly`,
`notesnook.${props.pricingPlans.currentPlan?.id}.monthly`
)) as string
)}
</Heading>
</View>
) : null}
@@ -424,13 +425,13 @@ const ProductItem = (props: {
? 1
: 0,
isAnnual
)}/month`
)}/${strings.month}`
: null}
{!isAnnual && !is5YearProduct
? `${props.pricingPlans.getStandardPrice(
product as RNIap.Subscription
)}/month`
)}/${strings.month()}`
: null}
</Paragraph>
</View>

View File

@@ -1,6 +1,7 @@
import { FeatureId, FeatureResult } from "@notesnook/common";
import { strings } from "@notesnook/intl";
import { useThemeColors } from "@notesnook/theme";
import { useEffect, useState } from "react";
import { useEffect } from "react";
import { View } from "react-native";
import Config from "react-native-config";
import usePricingPlans from "../../../hooks/use-pricing-plans";
@@ -26,16 +27,10 @@ const INDEX_TO_PLAN = {
3: "believer"
};
const Steps = {
Select: 0,
Buy: 1
};
export default function PaywallSheet<Tid extends FeatureId>(props: {
feature: FeatureResult<Tid>;
}) {
const { colors } = useThemeColors();
const [step, setStep] = useState(Steps.Select);
const pricingPlans = usePricingPlans();
useEffect(() => {
console.log("PaywallSheet mounted with feature:", props.feature);
@@ -47,16 +42,15 @@ export default function PaywallSheet<Tid extends FeatureId>(props: {
);
if (!plan) return;
pricingPlans.selectPlan(plan?.id);
pricingPlans.selectProduct(
isGithubRelease
? "yearly"
: plan?.subscriptionSkuList?.find((sku) => sku.includes("year"))
);
const product = isGithubRelease
? "yearly"
: plan?.subscriptionSkuList?.find((sku) => sku.includes("year"));
if (product) {
pricingPlans.selectProduct(product);
}
}, []);
console.log(pricingPlans.currentPlan, pricingPlans.selectedProduct);
return (
return !pricingPlans.currentPlan ? null : (
<View
style={{
width: "100%",
@@ -79,9 +73,8 @@ export default function PaywallSheet<Tid extends FeatureId>(props: {
name="crown"
size={AppFontSize.md}
color={colors.static.orange}
/>{" "}
Upgrade plan to {pricingPlans.currentPlan?.name} to use this
feature.
/>
{strings.upgradePlanTo(pricingPlans.currentPlan?.name)}
</Paragraph>
<View
@@ -90,9 +83,11 @@ export default function PaywallSheet<Tid extends FeatureId>(props: {
width: "100%"
}}
>
<Heading>Try it for free</Heading>
<Heading>{strings.tryItForFree()}</Heading>
<Heading size={AppFontSize.sm}>Get this and so much more:</Heading>
<Heading size={AppFontSize.sm}>
{strings.getThisAndSoMuchMore()}
</Heading>
<View
style={{
@@ -106,8 +101,8 @@ export default function PaywallSheet<Tid extends FeatureId>(props: {
flexShrink: 1
}}
>
<Heading size={AppFontSize.sm}>25 GB</Heading> cloud storage
space for storing images and files upto 5 GB every month.
<Heading size={AppFontSize.sm}>25 GB</Heading>{" "}
{strings.cloudSpace()}
</Paragraph>
</View>
@@ -123,8 +118,8 @@ export default function PaywallSheet<Tid extends FeatureId>(props: {
flexShrink: 1
}}
>
<Heading size={AppFontSize.sm}>App lock</Heading> for locking
your notes as soon as app enters background
<Heading size={AppFontSize.sm}>{strings.appLock()}</Heading>{" "}
{strings.appLockFeatureBenefit()}
</Paragraph>
</View>
@@ -140,11 +135,11 @@ export default function PaywallSheet<Tid extends FeatureId>(props: {
flexShrink: 1
}}
>
Use advanced note taking features like{" "}
{strings.advancedNoteTaking[0]()}{" "}
<Heading size={AppFontSize.sm}>
tables, outlines, block level note linking
{strings.advancedNoteTaking[1]()}
</Heading>{" "}
and much more.
{strings.advancedNoteTaking[2]()}
</Paragraph>
</View>
</View>
@@ -162,13 +157,13 @@ export default function PaywallSheet<Tid extends FeatureId>(props: {
}}
size={AppFontSize.xs}
>
<Heading size={AppFontSize.xs}>Cancel anytime.</Heading> Google will
remind you 2 days before your trial ends.
<Heading size={AppFontSize.xs}>{strings.cancelAnytime()}</Heading>{" "}
{strings.googleReminderTrial()}
</Paragraph>
<Button
type="accent"
title="Upgrade"
title={strings.upgrade()}
style={{
marginVertical: DefaultAppStyles.GAP_VERTICAL,
width: "100%"
@@ -197,7 +192,7 @@ export default function PaywallSheet<Tid extends FeatureId>(props: {
<Button
type="plain"
title="Explore all plans"
title={strings.exploreAllPlans()}
icon="arrow-right"
iconPosition="right"
onPress={() => {

View File

@@ -38,7 +38,7 @@ export function PlanLimits() {
gap: DefaultAppStyles.GAP_VERTICAL
}}
>
<Heading>Plan limits</Heading>
<Heading>{strings.planLimits()}</Heading>
{featureUsage?.map((item) => (
<View
@@ -60,7 +60,7 @@ export function PlanLimits() {
</Paragraph>
<Paragraph size={AppFontSize.sm}>
{item.total === Infinity
? "Unlimited"
? strings.unlimited()
: item.id === "storage"
? `${formatBytes(item.used)}/${formatBytes(
item.total

View File

@@ -499,6 +499,10 @@ msgstr "{count} characters"
msgid "{days, plural, one {1 day} other {# days}}"
msgstr "{days, plural, one {1 day} other {# days}}"
#: src/strings.ts:2548
msgid "{days} days free"
msgstr "{days} days free"
#: src/strings.ts:351
msgid "{freq, plural, one {Repeats every day on {selectedDays} at {date}} other {Repeats every # day every {selectedDays} at {date}}}"
msgstr "{freq, plural, one {Repeats every day on {selectedDays} at {date}} other {Repeats every # day every {selectedDays} at {date}}}"
@@ -559,6 +563,10 @@ msgstr "{notes, plural, one {Export note} other {Export # notes}}"
msgid "{percentage}% updating..."
msgstr "{percentage}% updating..."
#: src/strings.ts:2532
msgid "{plan} plan"
msgstr "{plan} plan"
#: src/strings.ts:742
msgid "{platform, select, android {{name} saved to selected path} other {{name} saved to File Manager/Notesnook/downloads}}"
msgstr "{platform, select, android {{name} saved to selected path} other {{name} saved to File Manager/Notesnook/downloads}}"
@@ -827,6 +835,10 @@ msgstr "Amount"
msgid "An error occurred while migrating your data. You can logout of your account and try to relogin. However this is not recommended as it may result in some data loss if your data was not synced."
msgstr "An error occurred while migrating your data. You can logout of your account and try to relogin. However this is not recommended as it may result in some data loss if your data was not synced."
#: src/strings.ts:2566
msgid "and"
msgstr "and"
#: src/strings.ts:103
msgid "and "
msgstr "and "
@@ -835,6 +847,10 @@ msgstr "and "
msgid "and get a chance to win free promo codes."
msgstr "and get a chance to win free promo codes."
#: src/strings.ts:2525
msgid "and much more."
msgstr "and much more."
#: src/strings.ts:1396
msgid "and we will manually confirm your account."
msgstr "and we will manually confirm your account."
@@ -1169,6 +1185,10 @@ msgstr "Behaviour"
msgid "Believer plan"
msgstr "Believer plan"
#: src/strings.ts:2569
msgid "Best value"
msgstr "Best value"
#: src/strings.ts:2460
msgid "Beta"
msgstr "Beta"
@@ -1177,6 +1197,14 @@ msgstr "Beta"
msgid "Bi-directional note link"
msgstr "Bi-directional note link"
#: src/strings.ts:2545
msgid "billed annually at {price}"
msgstr "billed annually at {price}"
#: src/strings.ts:2546
msgid "billed monthly at {price}"
msgstr "billed monthly at {price}"
#: src/strings.ts:2201
msgid "Billing history"
msgstr "Billing history"
@@ -1221,6 +1249,10 @@ msgstr "Bullet list"
msgid "By"
msgstr "By"
#: src/strings.ts:2564
msgid "By joining you agree to our"
msgstr "By joining you agree to our"
#: src/strings.ts:101
msgid "By signing up, you agree to our "
msgstr "By signing up, you agree to our "
@@ -1229,7 +1261,7 @@ msgstr "By signing up, you agree to our "
msgid "Callout"
msgstr "Callout"
#: src/strings.ts:2506
#: src/strings.ts:2505
msgid "Can I cancel my free trial anytime?"
msgstr "Can I cancel my free trial anytime?"
@@ -1237,6 +1269,14 @@ msgstr "Can I cancel my free trial anytime?"
msgid "Cancel"
msgstr "Cancel"
#: src/strings.ts:2562
msgid "Cancel anytime, subscription auto-renews."
msgstr "Cancel anytime, subscription auto-renews."
#: src/strings.ts:2527
msgid "Cancel anytime."
msgstr "Cancel anytime."
#: src/strings.ts:516
msgid "Cancel download"
msgstr "Cancel download"
@@ -1576,6 +1616,10 @@ msgstr "Close to the left"
msgid "Close to the right"
msgstr "Close to the right"
#: src/strings.ts:2519
msgid "cloud storage space for storing images and files."
msgstr "cloud storage space for storing images and files."
#: src/strings.ts:2266
msgid "Code"
msgstr "Code"
@@ -1633,6 +1677,10 @@ msgstr "Command palette"
msgid "Community"
msgstr "Community"
#: src/strings.ts:2539
msgid "Compare plans"
msgstr "Compare plans"
#: src/strings.ts:42
msgid "Completed"
msgstr "Completed"
@@ -2266,10 +2314,18 @@ msgstr "Drop the files here"
msgid "Drop your files here to attach"
msgstr "Drop your files here to attach"
#: src/strings.ts:2549
msgid "Due {date}"
msgstr "Due {date}"
#: src/strings.ts:654
msgid "Due date"
msgstr "Due date"
#: src/strings.ts:2547
msgid "Due today"
msgstr "Due today"
#: src/strings.ts:923
msgid "Duplicate"
msgstr "Duplicate"
@@ -2588,6 +2644,10 @@ msgstr "Expand sidebar"
msgid "Experience the next level of private note taking\""
msgstr "Experience the next level of private note taking\""
#: src/strings.ts:2530
msgid "Explore all plans"
msgstr "Explore all plans"
#: src/strings.ts:468
msgid "Export"
msgstr "Export"
@@ -2705,6 +2765,10 @@ msgstr "Failed to zip files"
msgid "Fallback method for 2FA enabled"
msgstr "Fallback method for 2FA enabled"
#: src/strings.ts:2540
msgid "FAQs"
msgstr "FAQs"
#: src/strings.ts:2031
msgid "Favorite"
msgstr "Favorite"
@@ -2714,6 +2778,10 @@ msgstr "Favorite"
msgid "Favorites"
msgstr "Favorites"
#: src/strings.ts:2538
msgid "Featured on"
msgstr "Featured on"
#: src/strings.ts:2415
msgid "February 2022 Week 2"
msgstr "February 2022 Week 2"
@@ -2802,7 +2870,7 @@ msgstr "Font ligatures"
msgid "Font size"
msgstr "Font size"
#: src/strings.ts:2513
#: src/strings.ts:2512
msgid "For a monthly subscription, you can get a refund within 7 days of purchase. For a yearly subscription, we offer a full refund within 14 days of purchase. For a 5 year subscription, you can request a refund within 30 days of purchase."
msgstr "For a monthly subscription, you can get a refund within 7 days of purchase. For a yearly subscription, we offer a full refund within 14 days of purchase. For a 5 year subscription, you can request a refund within 30 days of purchase."
@@ -2814,6 +2882,10 @@ msgstr "For a more integrated user experience, try out Notesnook for {platform}"
msgid "for help regarding how to use the Notesnook Importer."
msgstr "for help regarding how to use the Notesnook Importer."
#: src/strings.ts:2521
msgid "for locking your notes as soon as app enters background"
msgstr "for locking your notes as soon as app enters background"
#: src/strings.ts:2194
msgid "Force logout from all your other logged in devices."
msgstr "Force logout from all your other logged in devices."
@@ -2848,6 +2920,10 @@ msgstr ""
msgid "Forgot password?"
msgstr "Forgot password?"
#: src/strings.ts:2555
msgid "Free {duration} day trial, cancel any time"
msgstr "Free {duration} day trial, cancel any time"
#: src/strings.ts:2468
msgid "Free plan"
msgstr "Free plan"
@@ -2920,6 +2996,10 @@ msgstr "Get Pro"
msgid "Get started"
msgstr "Get started"
#: src/strings.ts:2518
msgid "Get this and so much more:"
msgstr "Get this and so much more:"
#: src/strings.ts:1884
msgid "Getting encryption key..."
msgstr "Getting encryption key..."
@@ -2972,6 +3052,14 @@ msgstr "Go to previous page"
msgid "Go to web app"
msgstr "Go to web app"
#: src/strings.ts:2529
msgid "Google will remind you 2 days before your trial ends."
msgstr "Google will remind you 2 days before your trial ends."
#: src/strings.ts:2556
msgid "Google will remind you before your trial ends"
msgstr "Google will remind you before your trial ends"
#: src/strings.ts:585
msgid "Got it"
msgstr "Got it"
@@ -2996,6 +3084,10 @@ msgstr "Hash copied"
msgid "Having problems with sync?"
msgstr "Having problems with sync?"
#: src/strings.ts:2544
msgid "hdImages"
msgstr "hdImages"
#: src/strings.ts:2349
msgid "Heading {level}"
msgstr "Heading {level}"
@@ -4109,6 +4201,10 @@ msgstr "Notes exported as {path} successfully"
msgid "notes imported"
msgstr "notes imported"
#: src/strings.ts:2533
msgid "Notesnook"
msgstr "Notesnook"
#: src/strings.ts:2066
msgid "Notesnook encrypts everything offline before syncing to your other devices. This means that no one can read your notes except you. Not even us."
msgstr "Notesnook encrypts everything offline before syncing to your other devices. This means that no one can read your notes except you. Not even us."
@@ -4193,6 +4289,10 @@ msgstr "Oldest - newest"
msgid "Once your password is changed, please make sure to save the new account recovery key"
msgstr "Once your password is changed, please make sure to save the new account recovery key"
#: src/strings.ts:2551
msgid "One time purchase, no auto-renewal"
msgstr "One time purchase, no auto-renewal"
#: src/strings.ts:1770
msgid "Only .zip files are supported."
msgstr "Only .zip files are supported."
@@ -4358,6 +4458,10 @@ msgstr "Paste image URL here"
msgid "Paste without formatting"
msgstr "Paste without formatting"
#: src/strings.ts:2552
msgid "Pay once and use for 5 years"
msgstr "Pay once and use for 5 years"
#: src/strings.ts:2198
msgid "Payment method"
msgstr "Payment method"
@@ -4394,6 +4498,14 @@ msgstr "Pin notification"
msgid "Pinned"
msgstr "Pinned"
#: src/strings.ts:2570
msgid "Plan limits"
msgstr "Plan limits"
#: src/strings.ts:2533
msgid "Plans"
msgstr "Plans"
#: src/strings.ts:1363
msgid "Please confirm your email to sync notes"
msgstr "Please confirm your email to sync notes"
@@ -4650,6 +4762,10 @@ msgstr "Privacy for everyone"
msgid "Privacy mode"
msgstr "Privacy mode"
#: src/strings.ts:2565
msgid "privacy policy"
msgstr "privacy policy"
#: src/strings.ts:1284
msgid "Privacy policy"
msgstr "Privacy policy"
@@ -4738,6 +4854,10 @@ msgstr "Published note can only be viewed by someone with the password."
msgid "Published note link will be automatically deleted once it is viewed by someone."
msgstr "Published note link will be automatically deleted once it is viewed by someone."
#: src/strings.ts:2558
msgid "Purchase"
msgstr "Purchase"
#: src/strings.ts:1370
msgid "Quick note"
msgstr "Quick note"
@@ -4798,6 +4918,10 @@ msgstr "Read the terms of service"
msgid "Reading backup file..."
msgstr "Reading backup file..."
#: src/strings.ts:2535
msgid "Ready to take the next step on your private note taking journey?"
msgstr "Ready to take the next step on your private note taking journey?"
#: src/strings.ts:2222
msgid "Receipt"
msgstr "Receipt"
@@ -4826,6 +4950,10 @@ msgstr "Recipes"
msgid "Recommended"
msgstr "Recommended"
#: src/strings.ts:2537
msgid "Recommended by Privacy Guides"
msgstr "Recommended by Privacy Guides"
#: src/strings.ts:434
msgid "Recover your account"
msgstr "Recover your account"
@@ -5908,6 +6036,14 @@ msgstr "Subgroup added"
msgid "Submit"
msgstr "Submit"
#: src/strings.ts:2559
msgid "Subscribe"
msgstr "Subscribe"
#: src/strings.ts:2560
msgid "Subscribe and start free trial"
msgstr "Subscribe and start free trial"
#: src/strings.ts:1024
msgid "Subscribe to Pro"
msgstr "Subscribe to Pro"
@@ -6024,6 +6160,10 @@ msgstr "Table of contents"
msgid "Table settings"
msgstr "Table settings"
#: src/strings.ts:2524
msgid "tables, outlines, block level note linking"
msgstr "tables, outlines, block level note linking"
#: src/strings.ts:528
msgid "Tabs"
msgstr "Tabs"
@@ -6159,6 +6299,10 @@ msgstr "Terms of service"
msgid "Terms of Service "
msgstr "Terms of Service "
#: src/strings.ts:2567
msgid "terms of use."
msgstr "terms of use."
#: src/strings.ts:1621
msgid "Test connection"
msgstr "Test connection"
@@ -6183,6 +6327,10 @@ msgstr "Thank you for choosing end-to-end encrypted note taking. Now you can syn
msgid "Thank you for reporting!"
msgstr "Thank you for reporting!"
#: src/strings.ts:2541
msgid "Thank you for subscribing"
msgstr "Thank you for subscribing"
#: src/strings.ts:478
msgid "Thank you for updating Notesnook! We will be applying some minor changes for a better note taking experience."
msgstr "Thank you for updating Notesnook! We will be applying some minor changes for a better note taking experience."
@@ -6271,6 +6419,10 @@ msgstr "This error usually means the search index is corrupted."
msgid "This image cannot be previewed"
msgstr "This image cannot be previewed"
#: src/strings.ts:2561
msgid "This is a one time purchase, no subscription."
msgstr "This is a one time purchase, no subscription."
#: src/strings.ts:2044
msgid "This may take a while"
msgstr "This may take a while"
@@ -6386,6 +6538,10 @@ msgstr "Trash gets automatically cleaned up after {days} days"
msgid "Trash gets automatically cleaned up daily"
msgstr "Trash gets automatically cleaned up daily"
#: src/strings.ts:2531
msgid "Try {plan} for free"
msgstr "Try {plan} for free"
#: src/strings.ts:1464
msgid "Try compact mode to fit more items on screen"
msgstr "Try compact mode to fit more items on screen"
@@ -6394,6 +6550,10 @@ msgstr "Try compact mode to fit more items on screen"
msgid "Try free for 14 days"
msgstr "Try free for 14 days"
#: src/strings.ts:2517
msgid "Try it for free"
msgstr "Try it for free"
#: src/strings.ts:623
msgid "Tue"
msgstr "Tue"
@@ -6462,6 +6622,10 @@ msgstr "Undo"
msgid "Unfavorite"
msgstr "Unfavorite"
#: src/strings.ts:2571
msgid "Unlimited"
msgstr "Unlimited"
#: src/strings.ts:929
msgid "Unlink from all"
msgstr "Unlink from all"
@@ -6564,6 +6728,10 @@ msgstr "Upgrade now"
msgid "Upgrade plan"
msgstr "Upgrade plan"
#: src/strings.ts:2516
msgid "Upgrade plan to {plan} to use this feature."
msgstr "Upgrade plan to {plan} to use this feature."
#: src/strings.ts:1938
msgid "Upgrade to Notesnook Pro to add colors."
msgstr "Upgrade to Notesnook Pro to add colors."
@@ -6630,6 +6798,10 @@ msgstr "Use a data recovery key to reset your account password."
msgid "Use account password"
msgstr "Use account password"
#: src/strings.ts:2523
msgid "Use advanced note taking features like"
msgstr "Use advanced note taking features like"
#: src/strings.ts:978
msgid "Use an authenticator app to generate 2FA codes."
msgstr "Use an authenticator app to generate 2FA codes."
@@ -6826,7 +6998,7 @@ msgstr "We are sorry, it seems that the app crashed due to an error. You can sub
msgid "We have sent you an email confirmation link. Please check your email inbox. If you cannot find the email, check your spam folder."
msgstr "We have sent you an email confirmation link. Please check your email inbox. If you cannot find the email, check your spam folder."
#: src/strings.ts:2503
#: src/strings.ts:2502
msgid "We require credit card details to fight abuse and to make it seamless for you to upgrade. Your credit card is NOT charged until your free trial ends and your subscription starts. You will be notified via email of the upcoming charge before your trial ends."
msgstr "We require credit card details to fight abuse and to make it seamless for you to upgrade. Your credit card is NOT charged until your free trial ends and your subscription starts. You will be notified via email of the upcoming charge before your trial ends."
@@ -6842,6 +7014,10 @@ msgstr "We will send you occasional promotional offers & product updates on your
msgid "We would love to know what you think!"
msgstr "We would love to know what you think!"
#: src/strings.ts:2543
msgid "Were setting up your plan right now. Well notify you as soon as everything is ready."
msgstr "Were setting up your plan right now. Well notify you as soon as everything is ready."
#: src/strings.ts:2322
msgid "Web clip settings"
msgstr "Web clip settings"
@@ -6883,11 +7059,11 @@ msgstr "Welcome to Notesnook Pro"
msgid "What do I do if I am not getting the email?"
msgstr "What do I do if I am not getting the email?"
#: src/strings.ts:2495
#: src/strings.ts:2494
msgid "What happens to my data if I switch plans?"
msgstr "What happens to my data if I switch plans?"
#: src/strings.ts:2511
#: src/strings.ts:2510
msgid "What is your refund policy?"
msgstr "What is your refund policy?"
@@ -6895,7 +7071,7 @@ msgstr "What is your refund policy?"
msgid "What went wrong?"
msgstr "What went wrong?"
#: src/strings.ts:2501
#: src/strings.ts:2500
msgid "Why do you need my credit card details for a free trial?"
msgstr "Why do you need my credit card details for a free trial?"
@@ -6940,7 +7116,7 @@ msgstr "Yearly"
msgid "Yes"
msgstr "Yes"
#: src/strings.ts:2508
#: src/strings.ts:2507
msgid "Yes, you can cancel your trial anytime. No questions asked."
msgstr "Yes, you can cancel your trial anytime. No questions asked."
@@ -7167,7 +7343,7 @@ msgstr "Your data recovery key is basically a hashed version of your password (p
msgid "Your data recovery key will be used to decrypt your data"
msgstr "Your data recovery key will be used to decrypt your data"
#: src/strings.ts:2497
#: src/strings.ts:2496
msgid "Your data remains 100% accessible regardless of what plan you are on. That includes your notes, notebooks, attachments, and anything else you might have created."
msgstr "Your data remains 100% accessible regardless of what plan you are on. That includes your notes, notebooks, attachments, and anything else you might have created."

View File

@@ -499,6 +499,10 @@ msgstr ""
msgid "{days, plural, one {1 day} other {# days}}"
msgstr ""
#: src/strings.ts:2548
msgid "{days} days free"
msgstr ""
#: src/strings.ts:351
msgid "{freq, plural, one {Repeats every day on {selectedDays} at {date}} other {Repeats every # day every {selectedDays} at {date}}}"
msgstr ""
@@ -559,6 +563,10 @@ msgstr ""
msgid "{percentage}% updating..."
msgstr ""
#: src/strings.ts:2532
msgid "{plan} plan"
msgstr ""
#: src/strings.ts:742
msgid "{platform, select, android {{name} saved to selected path} other {{name} saved to File Manager/Notesnook/downloads}}"
msgstr ""
@@ -827,6 +835,10 @@ msgstr ""
msgid "An error occurred while migrating your data. You can logout of your account and try to relogin. However this is not recommended as it may result in some data loss if your data was not synced."
msgstr ""
#: src/strings.ts:2566
msgid "and"
msgstr ""
#: src/strings.ts:103
msgid "and "
msgstr ""
@@ -835,6 +847,10 @@ msgstr ""
msgid "and get a chance to win free promo codes."
msgstr ""
#: src/strings.ts:2525
msgid "and much more."
msgstr ""
#: src/strings.ts:1396
msgid "and we will manually confirm your account."
msgstr ""
@@ -1169,6 +1185,10 @@ msgstr ""
msgid "Believer plan"
msgstr ""
#: src/strings.ts:2569
msgid "Best value"
msgstr ""
#: src/strings.ts:2460
msgid "Beta"
msgstr ""
@@ -1177,6 +1197,14 @@ msgstr ""
msgid "Bi-directional note link"
msgstr ""
#: src/strings.ts:2545
msgid "billed annually at {price}"
msgstr ""
#: src/strings.ts:2546
msgid "billed monthly at {price}"
msgstr ""
#: src/strings.ts:2201
msgid "Billing history"
msgstr ""
@@ -1221,6 +1249,10 @@ msgstr ""
msgid "By"
msgstr ""
#: src/strings.ts:2564
msgid "By joining you agree to our"
msgstr ""
#: src/strings.ts:101
msgid "By signing up, you agree to our "
msgstr ""
@@ -1229,7 +1261,7 @@ msgstr ""
msgid "Callout"
msgstr ""
#: src/strings.ts:2506
#: src/strings.ts:2505
msgid "Can I cancel my free trial anytime?"
msgstr ""
@@ -1237,6 +1269,14 @@ msgstr ""
msgid "Cancel"
msgstr ""
#: src/strings.ts:2562
msgid "Cancel anytime, subscription auto-renews."
msgstr ""
#: src/strings.ts:2527
msgid "Cancel anytime."
msgstr ""
#: src/strings.ts:516
msgid "Cancel download"
msgstr ""
@@ -1565,6 +1605,10 @@ msgstr ""
msgid "Close to the right"
msgstr ""
#: src/strings.ts:2519
msgid "cloud storage space for storing images and files."
msgstr ""
#: src/strings.ts:2266
msgid "Code"
msgstr ""
@@ -1622,6 +1666,10 @@ msgstr ""
msgid "Community"
msgstr ""
#: src/strings.ts:2539
msgid "Compare plans"
msgstr ""
#: src/strings.ts:42
msgid "Completed"
msgstr ""
@@ -2255,10 +2303,18 @@ msgstr ""
msgid "Drop your files here to attach"
msgstr ""
#: src/strings.ts:2549
msgid "Due {date}"
msgstr ""
#: src/strings.ts:654
msgid "Due date"
msgstr ""
#: src/strings.ts:2547
msgid "Due today"
msgstr ""
#: src/strings.ts:923
msgid "Duplicate"
msgstr ""
@@ -2577,6 +2633,10 @@ msgstr ""
msgid "Experience the next level of private note taking\""
msgstr ""
#: src/strings.ts:2530
msgid "Explore all plans"
msgstr ""
#: src/strings.ts:468
msgid "Export"
msgstr ""
@@ -2694,6 +2754,10 @@ msgstr ""
msgid "Fallback method for 2FA enabled"
msgstr ""
#: src/strings.ts:2540
msgid "FAQs"
msgstr ""
#: src/strings.ts:2031
msgid "Favorite"
msgstr ""
@@ -2703,6 +2767,10 @@ msgstr ""
msgid "Favorites"
msgstr ""
#: src/strings.ts:2538
msgid "Featured on"
msgstr ""
#: src/strings.ts:2415
msgid "February 2022 Week 2"
msgstr ""
@@ -2791,7 +2859,7 @@ msgstr ""
msgid "Font size"
msgstr ""
#: src/strings.ts:2513
#: src/strings.ts:2512
msgid "For a monthly subscription, you can get a refund within 7 days of purchase. For a yearly subscription, we offer a full refund within 14 days of purchase. For a 5 year subscription, you can request a refund within 30 days of purchase."
msgstr ""
@@ -2803,6 +2871,10 @@ msgstr ""
msgid "for help regarding how to use the Notesnook Importer."
msgstr ""
#: src/strings.ts:2521
msgid "for locking your notes as soon as app enters background"
msgstr ""
#: src/strings.ts:2194
msgid "Force logout from all your other logged in devices."
msgstr ""
@@ -2830,6 +2902,10 @@ msgstr ""
msgid "Forgot password?"
msgstr ""
#: src/strings.ts:2555
msgid "Free {duration} day trial, cancel any time"
msgstr ""
#: src/strings.ts:2468
msgid "Free plan"
msgstr ""
@@ -2902,6 +2978,10 @@ msgstr ""
msgid "Get started"
msgstr ""
#: src/strings.ts:2518
msgid "Get this and so much more:"
msgstr ""
#: src/strings.ts:1884
msgid "Getting encryption key..."
msgstr ""
@@ -2954,6 +3034,14 @@ msgstr ""
msgid "Go to web app"
msgstr ""
#: src/strings.ts:2529
msgid "Google will remind you 2 days before your trial ends."
msgstr ""
#: src/strings.ts:2556
msgid "Google will remind you before your trial ends"
msgstr ""
#: src/strings.ts:585
msgid "Got it"
msgstr ""
@@ -2978,6 +3066,10 @@ msgstr ""
msgid "Having problems with sync?"
msgstr ""
#: src/strings.ts:2544
msgid "hdImages"
msgstr ""
#: src/strings.ts:2349
msgid "Heading {level}"
msgstr ""
@@ -4089,6 +4181,10 @@ msgstr ""
msgid "notes imported"
msgstr ""
#: src/strings.ts:2533
msgid "Notesnook"
msgstr ""
#: src/strings.ts:2066
msgid "Notesnook encrypts everything offline before syncing to your other devices. This means that no one can read your notes except you. Not even us."
msgstr ""
@@ -4167,6 +4263,10 @@ msgstr ""
msgid "Once your password is changed, please make sure to save the new account recovery key"
msgstr ""
#: src/strings.ts:2551
msgid "One time purchase, no auto-renewal"
msgstr ""
#: src/strings.ts:1770
msgid "Only .zip files are supported."
msgstr ""
@@ -4332,6 +4432,10 @@ msgstr ""
msgid "Paste without formatting"
msgstr ""
#: src/strings.ts:2552
msgid "Pay once and use for 5 years"
msgstr ""
#: src/strings.ts:2198
msgid "Payment method"
msgstr ""
@@ -4368,6 +4472,14 @@ msgstr ""
msgid "Pinned"
msgstr ""
#: src/strings.ts:2570
msgid "Plan limits"
msgstr ""
#: src/strings.ts:2533
msgid "Plans"
msgstr ""
#: src/strings.ts:1363
msgid "Please confirm your email to sync notes"
msgstr ""
@@ -4624,6 +4736,10 @@ msgstr ""
msgid "Privacy mode"
msgstr ""
#: src/strings.ts:2565
msgid "privacy policy"
msgstr ""
#: src/strings.ts:1284
msgid "Privacy policy"
msgstr ""
@@ -4712,6 +4828,10 @@ msgstr ""
msgid "Published note link will be automatically deleted once it is viewed by someone."
msgstr ""
#: src/strings.ts:2558
msgid "Purchase"
msgstr ""
#: src/strings.ts:1370
msgid "Quick note"
msgstr ""
@@ -4772,6 +4892,10 @@ msgstr ""
msgid "Reading backup file..."
msgstr ""
#: src/strings.ts:2535
msgid "Ready to take the next step on your private note taking journey?"
msgstr ""
#: src/strings.ts:2222
msgid "Receipt"
msgstr ""
@@ -4800,6 +4924,10 @@ msgstr ""
msgid "Recommended"
msgstr ""
#: src/strings.ts:2537
msgid "Recommended by Privacy Guides"
msgstr ""
#: src/strings.ts:434
msgid "Recover your account"
msgstr ""
@@ -5874,6 +6002,14 @@ msgstr ""
msgid "Submit"
msgstr ""
#: src/strings.ts:2559
msgid "Subscribe"
msgstr ""
#: src/strings.ts:2560
msgid "Subscribe and start free trial"
msgstr ""
#: src/strings.ts:1024
msgid "Subscribe to Pro"
msgstr ""
@@ -5990,6 +6126,10 @@ msgstr ""
msgid "Table settings"
msgstr ""
#: src/strings.ts:2524
msgid "tables, outlines, block level note linking"
msgstr ""
#: src/strings.ts:528
msgid "Tabs"
msgstr ""
@@ -6118,6 +6258,10 @@ msgstr ""
msgid "Terms of Service "
msgstr ""
#: src/strings.ts:2567
msgid "terms of use."
msgstr ""
#: src/strings.ts:1621
msgid "Test connection"
msgstr ""
@@ -6142,6 +6286,10 @@ msgstr ""
msgid "Thank you for reporting!"
msgstr ""
#: src/strings.ts:2541
msgid "Thank you for subscribing"
msgstr ""
#: src/strings.ts:478
msgid "Thank you for updating Notesnook! We will be applying some minor changes for a better note taking experience."
msgstr ""
@@ -6230,6 +6378,10 @@ msgstr ""
msgid "This image cannot be previewed"
msgstr ""
#: src/strings.ts:2561
msgid "This is a one time purchase, no subscription."
msgstr ""
#: src/strings.ts:2044
msgid "This may take a while"
msgstr ""
@@ -6345,6 +6497,10 @@ msgstr ""
msgid "Trash gets automatically cleaned up daily"
msgstr ""
#: src/strings.ts:2531
msgid "Try {plan} for free"
msgstr ""
#: src/strings.ts:1464
msgid "Try compact mode to fit more items on screen"
msgstr ""
@@ -6353,6 +6509,10 @@ msgstr ""
msgid "Try free for 14 days"
msgstr ""
#: src/strings.ts:2517
msgid "Try it for free"
msgstr ""
#: src/strings.ts:623
msgid "Tue"
msgstr ""
@@ -6421,6 +6581,10 @@ msgstr ""
msgid "Unfavorite"
msgstr ""
#: src/strings.ts:2571
msgid "Unlimited"
msgstr ""
#: src/strings.ts:929
msgid "Unlink from all"
msgstr ""
@@ -6523,6 +6687,10 @@ msgstr ""
msgid "Upgrade plan"
msgstr ""
#: src/strings.ts:2516
msgid "Upgrade plan to {plan} to use this feature."
msgstr ""
#: src/strings.ts:1938
msgid "Upgrade to Notesnook Pro to add colors."
msgstr ""
@@ -6589,6 +6757,10 @@ msgstr ""
msgid "Use account password"
msgstr ""
#: src/strings.ts:2523
msgid "Use advanced note taking features like"
msgstr ""
#: src/strings.ts:978
msgid "Use an authenticator app to generate 2FA codes."
msgstr ""
@@ -6777,7 +6949,7 @@ msgstr ""
msgid "We have sent you an email confirmation link. Please check your email inbox. If you cannot find the email, check your spam folder."
msgstr ""
#: src/strings.ts:2503
#: src/strings.ts:2502
msgid "We require credit card details to fight abuse and to make it seamless for you to upgrade. Your credit card is NOT charged until your free trial ends and your subscription starts. You will be notified via email of the upcoming charge before your trial ends."
msgstr ""
@@ -6793,6 +6965,10 @@ msgstr ""
msgid "We would love to know what you think!"
msgstr ""
#: src/strings.ts:2543
msgid "Were setting up your plan right now. Well notify you as soon as everything is ready."
msgstr ""
#: src/strings.ts:2322
msgid "Web clip settings"
msgstr ""
@@ -6834,11 +7010,11 @@ msgstr ""
msgid "What do I do if I am not getting the email?"
msgstr ""
#: src/strings.ts:2495
#: src/strings.ts:2494
msgid "What happens to my data if I switch plans?"
msgstr ""
#: src/strings.ts:2511
#: src/strings.ts:2510
msgid "What is your refund policy?"
msgstr ""
@@ -6846,7 +7022,7 @@ msgstr ""
msgid "What went wrong?"
msgstr ""
#: src/strings.ts:2501
#: src/strings.ts:2500
msgid "Why do you need my credit card details for a free trial?"
msgstr ""
@@ -6891,7 +7067,7 @@ msgstr ""
msgid "Yes"
msgstr ""
#: src/strings.ts:2508
#: src/strings.ts:2507
msgid "Yes, you can cancel your trial anytime. No questions asked."
msgstr ""
@@ -7113,7 +7289,7 @@ msgstr ""
msgid "Your data recovery key will be used to decrypt your data"
msgstr ""
#: src/strings.ts:2497
#: src/strings.ts:2496
msgid "Your data remains 100% accessible regardless of what plan you are on. That includes your notes, notebooks, attachments, and anything else you might have created."
msgstr ""

View File

@@ -2497,7 +2497,6 @@ Use this if changes from other devices are not appearing on this device. This wi
iAlreadyHaveAnAccount: () => t`I already have an account`,
upgradePlan: () => t`Upgrade plan`,
upgrade: () => t`Upgrade`,
checkoutFaqs: [
{
question: () => t`What happens to my data if I switch plans?`,
@@ -2520,5 +2519,62 @@ Use this if changes from other devices are not appearing on this device. This wi
answer: () =>
t`For a monthly subscription, you can get a refund within 7 days of purchase. For a yearly subscription, we offer a full refund within 14 days of purchase. For a 5 year subscription, you can request a refund within 30 days of purchase.`
}
]
],
upgradePlanTo: (plan: string) =>
t`Upgrade plan to ${plan} to use this feature.`,
tryItForFree: () => t`Try it for free`,
getThisAndSoMuchMore: () => t`Get this and so much more:`,
cloudSpace: () => t`cloud storage space for storing images and files.`,
appLockFeatureBenefit: () =>
t`for locking your notes as soon as app enters background`,
advancedNoteTaking: [
() => t`Use advanced note taking features like`,
() => t`tables, outlines, block level note linking`,
() => t`and much more.`
],
cancelAnytime: () => t`Cancel anytime.`,
googleReminderTrial: () =>
t`Google will remind you 2 days before your trial ends.`,
exploreAllPlans: () => t`Explore all plans`,
tryPlanForFree: (plan: string) => t`Try ${plan} for free`,
plan: (plan: string) => t`${plan} plan`,
notesnookPlans: [() => t`Notesnook`, () => t`Plans`],
readyToTakeNextStep: () =>
t`Ready to take the next step on your private note taking journey?`,
percentOff: (discount: string) => `${discount}% off`,
recommendedByPrivacyGuides: () => t`Recommended by Privacy Guides`,
featuredOn: () => t`Featured on`,
comparePlans: () => t`Compare plans`,
faqs: () => t`FAQs`,
thankYouForSubscribing: () => t`Thank you for subscribing`,
settingUpPlan: () =>
t`Were setting up your plan right now. Well notify you as soon as everything is ready.`,
hdImages: () => t`hdImages`,
billedAnnually: (price: string) => t`billed annually at ${price}`,
billedMonthly: (price: string) => t`billed monthly at ${price}`,
dueToday: () => t`Due today`,
daysFree: (days: string) => t`${days} days free`,
due: (date: string) => t`Due ${date}`,
"5yearPlanConditions": () => [
t`One time purchase, no auto-renewal`,
t`Pay once and use for 5 years`
],
trialPlanConditions: [
(duration: number) => t`Free ${duration} day trial, cancel any time`,
() => t`Google will remind you before your trial ends`
],
purchase: () => t`Purchase`,
subscribe: () => t`Subscribe`,
subscribeAndStartTrial: () => t`Subscribe and start free trial`,
oneTimePurchase: () => t`This is a one time purchase, no subscription.`,
cancelAnytimeAlt: () => t`Cancel anytime, subscription auto-renews.`,
subTerms: [
() => t`By joining you agree to our`,
() => t`privacy policy`,
() => t`and`,
() => t`terms of use.`
],
bestValue: () => t`Best value`,
planLimits: () => t`Plan limits`,
unlimited: () => t`Unlimited`
};