diff --git a/v3/src/components/widgets/Pricing.astro b/v3/src/components/widgets/Pricing.astro
index 1db44380..c4d90aef 100644
--- a/v3/src/components/widgets/Pricing.astro
+++ b/v3/src/components/widgets/Pricing.astro
@@ -11,6 +11,7 @@ const defaultCurrencyCopy = {
tip: 'The currency you choose will also be used on your invoice.',
emailTip: 'After successful payment, you will receive your invoice and license by email. Please enter the correct email address on the next payment page.',
businessTip: 'If you need a business invoice with your business name and tax number, please check the "I\'m purchasing as a business" checkbox on the next payment page.',
+ sepaTip: 'EUR payments support SEPA bank debit. Please note: if you choose SEPA, your bank may take up to 5 business days to confirm the payment, and your license will be emailed only after that. If you want to receive your license sooner, we recommend choosing another real-time payment method.',
confirm: 'Continue to checkout',
cancel: 'Cancel',
} as const;
@@ -20,13 +21,14 @@ const {
subtitle = '',
tagline = '',
prices = [],
- currencyCopy = defaultCurrencyCopy,
+ currencyCopy: rawCurrencyCopy,
id,
isDark = false,
classes = {},
bg = await Astro.slots.render('bg'),
} = Astro.props;
+const currencyCopy = { ...defaultCurrencyCopy, ...(rawCurrencyCopy || {}) };
const defaultCurrency = 'USD';
---
@@ -153,6 +155,19 @@ const defaultCurrency = 'USD';
+
+
diff --git a/v3/src/pages/ar/index.astro b/v3/src/pages/ar/index.astro
index 41c9d405..6cfa51e7 100644
--- a/v3/src/pages/ar/index.astro
+++ b/v3/src/pages/ar/index.astro
@@ -61,16 +61,16 @@ const metadata = {
title="قم بتمكين وصولك عن بُعد باستخدام الخوادم المستضافة ذاتيًا"
items={[
{
- title: 'سيادة البيانات',
- description: 'الامتثال التنظيمي أصبح سهلاً: رست ديسك المستضاف ذاتيًا يضمن سيادة البيانات.',
+ title: 'تحكم كامل في البيانات',
+ description: 'الامتثال التنظيمي أصبح سهلاً: رست ديسك المستضاف ذاتيًا يبقي بياناتك تحت سيطرتك الكاملة.',
},
{
- title: 'أمان معزز',
- description: 'قم بتعزيز أمانك: النشر في الموقع يبقي بياناتك تحت سيطرتك.',
+ title: 'مفتوح المصدر بمستوى عالمي',
+ description: 'مع أكثر من 113 ألف نجمة على جيت هب، يُصنَّف رست ديسك ضمن أفضل 100 مشروع برمجي مفتوح المصدر في العالم، مدعومًا بمجتمع عالمي نشط.',
},
{
title: 'الأداء والموثوقية',
- description: 'وقت تشغيل مضمون: النشر في الموقع يضمن الأداء الأمثل والحد الأدنى من وقت التوقف.',
+ description: 'شغّله على بنيتك التحتية الخاصة — بدون اعتماد على توفر خدمات SaaS من طرف ثالث، وبدون مشاركة الموارد مع جيران مزعجين.',
},
{
title: 'المرونة والتخصيص',
@@ -190,7 +190,7 @@ const metadata = {
{ title: 'تنزيلات العميل', amount: '+30 مليون' },
{ title: 'تنزيلات دوكر', amount: '+10 مليون' },
{ title: 'الأجهزة النشطة', amount: '10M+' },
- { title: 'النجوم', amount: '+106 ألف' },
+ { title: 'النجوم', amount: '+113 ألف' },
{ title: 'التفرعات', amount: '+15 ألف' },
{ title: 'أعضاء المجتمع', amount: '+50 ألف' },
{ title: 'اللغات', amount: '+50' },
diff --git a/v3/src/pages/ar/pricing.astro b/v3/src/pages/ar/pricing.astro
index 082c0f76..697eeb3f 100644
--- a/v3/src/pages/ar/pricing.astro
+++ b/v3/src/pages/ar/pricing.astro
@@ -76,6 +76,7 @@ const currencyCopy = {
tip: 'العملة التي تختارها ستُستخدم أيضًا في فاتورتك.',
emailTip: 'بعد إتمام الدفع بنجاح، ستتلقى الفاتورة والترخيص عبر البريد الإلكتروني. يرجى إدخال عنوان البريد الإلكتروني الصحيح في صفحة الدفع التالية.',
businessTip: 'إذا كنت بحاجة إلى فاتورة عمل تتضمن اسم الشركة ورقمها الضريبي، فيرجى تحديد مربع الاختيار "أقوم بالشراء بصفتي شركة" في صفحة الدفع التالية.',
+ sepaTip: 'مدفوعات اليورو تدعم خصم SEPA البنكي. يرجى ملاحظة أنه إذا اخترت SEPA، فقد يستغرق البنك ما يصل إلى 5 أيام عمل لتأكيد الدفع، ولن نرسل الترخيص إلى بريدك الإلكتروني إلا بعد ذلك. إذا كنت ترغب في استلام الترخيص بشكل أسرع، فننصح باختيار وسيلة دفع فورية أخرى.',
confirm: 'متابعة إلى الدفع',
cancel: 'إلغاء',
};
@@ -89,36 +90,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: 'يرجى التأكيد',
- html: `
هل تريد المتابعة إلى صفحة الشراء؟
يرجى ملاحظة أن ما تشتريه ليس اشتراكًا في خدمة البرمجيات كخدمة (SaaS).
بدلاً من ذلك، إنه ترخيص لحل استضافة ذاتية، والذي يتطلب منك نشره على خادمك الخاص (خادم سحابي، مثل AWS EC2 أو Azure VM أو Vultr VPS إلخ، أو خادمك المحلي).
يرجى عدم الشراء إذا كنت لا تعرف ما هي الاستضافة الذاتية`,
+ html: `
+
ما تشتريه ليس اشتراكًا في SaaS — إنه ترخيص لحل استضافة ذاتية يتطلب منك نشره على خادمك الخاص (مثل AWS EC2 أو Azure VM أو Vultr VPS أو خادمك المحلي).
+
نحن لا نقدم استردادًا للأموال. نوصي بشدة باختبار خطتنا المجانية للاستضافة الذاتية قبل شراء خطة Pro.
+
يرجى عدم الشراء إذا كنت لا تعرف ما هي الاستضافة الذاتية.
+
هل تريد المتابعة إلى صفحة الشراء؟
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'نعم',
+ confirmButtonText: 'نعم، متابعة',
cancelButtonText: 'لا',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: 'يرجى التأكيد',
- html: `يرجى ملاحظة أننا لا نقدم استردادًا للأموال. نوصي بشدة باختبار خطتنا المجانية للاستضافة الذاتية قبل التفكير في شراء خطتنا الاحترافية. هل ما زلت مهتمًا بالمتابعة؟`,
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'نعم',
- cancelButtonText: 'لا',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/de/index.astro b/v3/src/pages/de/index.astro
index 2e5a84e0..cfed5df8 100644
--- a/v3/src/pages/de/index.astro
+++ b/v3/src/pages/de/index.astro
@@ -65,18 +65,19 @@ const metadata = {
title="Stärken Sie Ihren Fernzugriff mit selbst gehosteten Servern"
items={[
{
- title: 'Datensouveränität',
+ title: 'Volle Datenkontrolle',
description:
- 'Einfache Einhaltung von Vorschriften: Selbst gehostetes RustDesk gewährleistet Datensouveränität.',
+ 'Einfache Einhaltung von Vorschriften: Selbst gehostetes RustDesk gibt Ihnen die volle Kontrolle über Ihre Daten.',
},
{
- title: 'Verbesserte Sicherheit',
- description: 'Stärken Sie Ihre Sicherheit: On-Premise-Bereitstellung hält Ihre Daten unter Ihrer Kontrolle.',
+ title: 'Weltklasse-Open-Source',
+ description:
+ 'Mit über 113.000 GitHub-Stars zählt RustDesk zu den Top-100-Open-Source-Softwareprojekten weltweit, getragen von einer lebendigen globalen Community.',
},
{
title: 'Leistung und Zuverlässigkeit',
description:
- 'Garantierte Verfügbarkeit: On-Premise-Bereitstellung gewährleistet optimale Leistung und minimale Ausfallzeiten.',
+ 'Auf Ihrer eigenen Infrastruktur betreiben — keine Abhängigkeit von der Verfügbarkeit von Drittanbieter-SaaS, keine lauten Nachbarn in geteilten Umgebungen.',
},
{
title: 'Flexibilität und Anpassung',
@@ -199,7 +200,7 @@ const metadata = {
{ title: 'Client-Downloads', amount: '30M+' },
{ title: 'Docker-Downloads', amount: '10M+' },
{ title: 'Aktive Geräte', amount: '10M+' },
- { title: 'Sterne', amount: '106K+' },
+ { title: 'Sterne', amount: '113K+' },
{ title: 'Forks', amount: '15K+' },
{ title: 'Community-Mitglieder', amount: '50K+' },
{ title: 'Sprachen', amount: '50+' },
diff --git a/v3/src/pages/de/pricing.astro b/v3/src/pages/de/pricing.astro
index 93a0ea27..cc72b767 100644
--- a/v3/src/pages/de/pricing.astro
+++ b/v3/src/pages/de/pricing.astro
@@ -78,6 +78,7 @@ const currencyCopy = {
tip: 'Die von Ihnen gewählte Währung wird auch auf Ihrer Rechnung verwendet.',
emailTip: 'Bitte geben Sie auf der folgenden Zahlungsseite die richtige E-Mail-Adresse an, da Sie Ihre Rechnung und Lizenz nach erfolgreicher Zahlung per E-Mail erhalten.',
businessTip: 'Wenn Sie eine Geschäftsrechnung mit Firmenname und Steuernummer benötigen, aktivieren Sie bitte auf der folgenden Zahlungsseite das Kontrollkästchen "Ich kaufe als Unternehmen".',
+ sepaTip: 'EUR-Zahlungen unterstützen SEPA-Lastschrift. Bitte beachten Sie: Wenn Sie SEPA wählen, kann Ihre Bank bis zu 5 Werktage benötigen, um die Zahlung zu bestätigen, und Ihre Lizenz wird erst danach per E-Mail versendet. Wenn Sie Ihre Lizenz schneller erhalten möchten, empfehlen wir eine andere Echtzeit-Zahlungsmethode.',
confirm: 'Zur Kasse',
cancel: 'Abbrechen',
};
@@ -91,36 +92,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: 'Bitte bestätigen',
- html: 'Möchten Sie zur Kaufseite weitergeleitet werden?
Bitte beachten Sie, dass Sie KEIN SaaS (Software as a Service) Abonnement erwerben.
Stattdessen handelt es sich um eine Lizenz für eine Self-Hosting Lösung, die Sie auf Ihrem eigenen Server bereitstellen müssen (Cloud-Server, z.B. AWS EC2, Azure VM, Vultr VPS etc. oder Ihr eigener On-Premise-Server).
Bitte kaufen Sie nicht, wenn Sie nicht wissen, was Self-Hosting bedeutet.',
+ html: `
+
Sie erwerben KEIN SaaS-Abonnement — es handelt sich um eine Lizenz für eine Self-Hosting-Lösung, die Sie auf Ihrem eigenen Server bereitstellen müssen (z. B. AWS EC2, Azure VM, Vultr VPS oder Ihr On-Premise-Server).
+
Wir bieten keine Rückerstattungen an. Wir empfehlen dringend, zuerst unseren kostenlosen Self-Hosting-Plan zu testen, bevor Sie den Pro-Plan kaufen.
+
Bitte kaufen Sie nicht, wenn Sie nicht wissen, was Self-Hosting bedeutet.
+
Möchten Sie zur Kaufseite weitergeleitet werden?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Ja',
+ confirmButtonText: 'Ja, fortfahren',
cancelButtonText: 'Nein',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: 'Bitte bestätigen',
- html: 'Bitte beachten Sie, dass wir keine Rückerstattungen anbieten. Wir empfehlen dringend, unseren kostenlosen Self-Hosting-Plan zu testen, bevor Sie den Kauf unseres Pro-Plans in Erwägung ziehen. Möchten Sie trotzdem fortfahren?',
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Ja',
- cancelButtonText: 'Nein',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/es/index.astro b/v3/src/pages/es/index.astro
index 607507f2..0e674420 100644
--- a/v3/src/pages/es/index.astro
+++ b/v3/src/pages/es/index.astro
@@ -61,16 +61,16 @@ const metadata = {
title="Potencie su acceso remoto con servidores autohospedaje"
items={[
{
- title: 'Soberanía de datos',
- description: 'Cumplimiento normativo facilitado: RustDesk autoalojado garantiza la soberanía de los datos.',
+ title: 'Control total de datos',
+ description: 'Cumplimiento normativo facilitado: RustDesk autoalojado mantiene tus datos bajo tu control total.',
},
{
- title: 'Seguridad mejorada',
- description: 'Fortalezca su seguridad: la implementación en sus instalaciones mantiene sus datos bajo su control.',
+ title: 'Código abierto de clase mundial',
+ description: 'Con más de 113 000 estrellas en GitHub, RustDesk se encuentra entre los 100 mejores proyectos de software de código abierto del mundo, respaldado por una comunidad global vibrante.',
},
{
title: 'Rendimiento y fiabilidad',
- description: 'Tiempo de actividad garantizado: la implementación en sus instalaciones asegura un rendimiento óptimo y un tiempo de inactividad mínimo.',
+ description: 'Ejecute en su propia infraestructura: sin dependencia de la disponibilidad de SaaS de terceros, sin vecinos ruidosos en entornos compartidos.',
},
{
title: 'Flexibilidad y personalización',
@@ -190,7 +190,7 @@ const metadata = {
{ title: 'Descargas de clientes', amount: '30M+' },
{ title: 'Descargas de Docker', amount: '10M+' },
{ title: 'Dispositivos activos', amount: '10M+' },
- { title: 'Estrellas', amount: '106K+' },
+ { title: 'Estrellas', amount: '113K+' },
{ title: 'Bifurcaciones', amount: '15K+' },
{ title: 'Miembros de la comunidad', amount: '50K+' },
{ title: 'Idiomas', amount: '50+' },
diff --git a/v3/src/pages/es/pricing.astro b/v3/src/pages/es/pricing.astro
index 3d8a1b43..c585b257 100644
--- a/v3/src/pages/es/pricing.astro
+++ b/v3/src/pages/es/pricing.astro
@@ -78,6 +78,7 @@ const currencyCopy = {
tip: 'La moneda que elijas también se usará en tu factura.',
emailTip: 'Tras completar el pago con éxito, recibirás la factura y la licencia por correo electrónico. Introduce la dirección de correo correcta en la siguiente página de pago.',
businessTip: 'Si necesitas una factura de empresa con el nombre de la empresa y el número fiscal, marca la casilla "Estoy comprando como empresa" en la siguiente página de pago.',
+ sepaTip: 'Los pagos en EUR admiten débito bancario SEPA. Ten en cuenta que, si eliges SEPA, tu banco puede tardar hasta 5 días laborables en confirmar el pago, y la licencia se enviará por correo electrónico solo después de eso. Si quieres recibir tu licencia antes, te recomendamos elegir otro método de pago en tiempo real.',
confirm: 'Continuar al pago',
cancel: 'Cancelar',
};
@@ -91,36 +92,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: 'Por favor, confirme',
- html: '¿Desea proceder a la página de compra?
Tenga en cuenta que lo que está comprando NO es una suscripción SaaS (Software como Servicio).
En su lugar, es una licencia para una solución de alojamiento propio, que requiere que la implemente en su propio servidor (servidor en la nube, por ejemplo, AWS EC2, Azure VM, Vultr VPS, etc., o su servidor local).
Por favor, no compre si no sabe qué es el alojamiento propio',
+ html: `
+
Lo que está comprando NO es una suscripción SaaS: es una licencia para una solución de alojamiento propio que requiere que la implemente en su propio servidor (por ejemplo, AWS EC2, Azure VM, Vultr VPS o su servidor local).
+
No ofrecemos reembolsos. Recomendamos encarecidamente probar primero nuestro plan gratuito de alojamiento propio antes de comprar el plan Pro.
+
Por favor, no compre si no sabe qué es el alojamiento propio.
+
¿Desea proceder a la página de compra?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Sí',
+ confirmButtonText: 'Sí, continuar',
cancelButtonText: 'No',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: 'Por favor, confirme',
- html: 'Tenga en cuenta que no ofrecemos reembolsos. Recomendamos encarecidamente probar nuestro plan gratuito de alojamiento propio antes de considerar la compra de nuestro plan Pro. ¿Aún está interesado en continuar?',
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Sí',
- cancelButtonText: 'No',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/fr/index.astro b/v3/src/pages/fr/index.astro
index 5c82bb60..f748ceac 100644
--- a/v3/src/pages/fr/index.astro
+++ b/v3/src/pages/fr/index.astro
@@ -61,16 +61,16 @@ const metadata = {
title="Renforcez votre accès à distance avec des serveurs auto-hébergés"
items={[
{
- title: 'Souveraineté des données',
- description: 'Conformité réglementaire facilitée : RustDesk auto-hébergé assure la souveraineté des données.',
+ title: 'Contrôle total des données',
+ description: 'Conformité réglementaire facilitée : RustDesk auto-hébergé vous laisse le contrôle total de vos données.',
},
{
- title: 'Sécurité renforcée',
- description: 'Renforcez votre sécurité : le déploiement sur site garde vos données sous votre contrôle.',
+ title: 'Open source de classe mondiale',
+ description: 'Avec plus de 113 000 étoiles sur GitHub, RustDesk figure parmi les 100 meilleurs projets logiciels open source au monde, porté par une communauté mondiale dynamique.',
},
{
title: 'Performance et fiabilité',
- description: 'Temps de fonctionnement garanti : le déploiement sur site assure des performances optimales et un temps d\'arrêt minimal.',
+ description: 'Exécutez sur votre propre infrastructure — aucune dépendance à la disponibilité d\'un SaaS tiers, pas de voisins bruyants dans des environnements partagés.',
},
{
title: 'Flexibilité et personnalisation',
@@ -190,7 +190,7 @@ const metadata = {
{ title: 'Téléchargements clients', amount: '30M+' },
{ title: 'Téléchargements Docker', amount: '10M+' },
{ title: 'Appareils actifs', amount: '10M+' },
- { title: 'Étoiles', amount: '106K+' },
+ { title: 'Étoiles', amount: '113K+' },
{ title: 'Forks', amount: '15K+' },
{ title: 'Membres de la communauté', amount: '50K+' },
{ title: 'Langues', amount: '50+' },
diff --git a/v3/src/pages/fr/pricing.astro b/v3/src/pages/fr/pricing.astro
index a23a707e..62b0814c 100644
--- a/v3/src/pages/fr/pricing.astro
+++ b/v3/src/pages/fr/pricing.astro
@@ -78,6 +78,7 @@ const currencyCopy = {
tip: 'La devise choisie sera également utilisée sur votre facture.',
emailTip: 'Une fois le paiement effectué, vous recevrez votre facture et votre licence par e-mail. Veuillez saisir la bonne adresse e-mail sur la page de paiement suivante.',
businessTip: 'Si vous avez besoin d\'une facture professionnelle avec le nom de l\'entreprise et le numéro fiscal, cochez la case "J\'achète au nom d\'une entreprise" sur la page de paiement suivante.',
+ sepaTip: 'Les paiements en EUR prennent en charge le prélèvement bancaire SEPA. Veuillez noter que, si vous choisissez SEPA, votre banque peut prendre jusqu\'à 5 jours ouvrés pour confirmer le paiement, et la licence ne vous sera envoyée par e-mail qu\'ensuite. Si vous souhaitez recevoir votre licence plus rapidement, nous vous recommandons de choisir un autre moyen de paiement en temps réel.',
confirm: 'Continuer vers le paiement',
cancel: 'Annuler',
};
@@ -91,36 +92,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: 'Veuillez confirmer',
- html: 'Voulez-vous procéder à la page d\'achat ?
Veuillez noter que ce que vous achetez N\'EST PAS un abonnement SaaS (Logiciel en tant que Service).
Il s\'agit plutôt d\'une licence pour une solution auto-hébergée, qui nécessite que vous la déployiez sur votre propre serveur (serveur cloud, par exemple AWS EC2, Azure VM, Vultr VPS, etc., ou votre serveur sur site).
Veuillez ne pas acheter si vous ne savez pas ce qu\'est l\'auto-hébergement',
+ html: `
+
Ce que vous achetez N'EST PAS un abonnement SaaS — il s'agit d'une licence pour une solution auto-hébergée qui nécessite que vous la déployiez sur votre propre serveur (par exemple AWS EC2, Azure VM, Vultr VPS ou votre serveur sur site).
+
Nous n'offrons pas de remboursements. Nous vous recommandons fortement de tester d'abord notre plan auto-hébergé gratuit avant d'acheter le plan Pro.
+
Veuillez ne pas acheter si vous ne savez pas ce qu'est l'auto-hébergement.
+
Voulez-vous procéder à la page d'achat ?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Oui',
+ confirmButtonText: 'Oui, continuer',
cancelButtonText: 'Non',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: 'Veuillez confirmer',
- html: 'Veuillez noter que nous n\'offrons pas de remboursements. Nous vous recommandons fortement de tester notre plan auto-hébergé gratuit avant d\'envisager l\'achat de notre plan Pro. Êtes-vous toujours intéressé pour continuer ?',
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Oui',
- cancelButtonText: 'Non',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/index.astro b/v3/src/pages/index.astro
index d8b28f8f..0a6c89d5 100644
--- a/v3/src/pages/index.astro
+++ b/v3/src/pages/index.astro
@@ -62,16 +62,16 @@ const metadata = {
title="Empower your remote access with self-hosted servers"
items={[
{
- title: 'Data sovereignty',
- description: 'Regulatory compliance made easy: self-hosted RustDesk ensures data sovereignty.',
+ title: 'Full data control',
+ description: 'Regulatory compliance made easy: self-hosted RustDesk keeps your data fully under your control.',
},
{
- title: 'Enhanced security',
- description: 'Fortify your security: on-premise deployment keeps your data under your control.',
+ title: 'World-class open source',
+ description: 'With 113K+ GitHub stars, RustDesk ranks among the world\'s top 100 open-source software projects, backed by a thriving global community.',
},
{
title: 'Performance and reliability',
- description: 'Guaranteed uptime: on-premise deployment ensures optimal performance and minimal downtime.',
+ description: 'Run on your own infrastructure — no dependency on third-party SaaS availability, no shared noisy neighbors.',
},
{
title: 'Flexibility and customization',
@@ -192,7 +192,7 @@ const metadata = {
{ title: 'Client downloads', amount: '30M+' },
{ title: 'Docker downloads', amount: '10M+' },
{ title: 'Alive devices', amount: '10M+' },
- { title: 'Stars', amount: '106K+' },
+ { title: 'Stars', amount: '113K+' },
{ title: 'Forks', amount: '15K+' },
{ title: 'Community members', amount: '50K+' },
{ title: 'Languages', amount: '50+' },
diff --git a/v3/src/pages/it/index.astro b/v3/src/pages/it/index.astro
index 33d43aaa..e18ee07d 100644
--- a/v3/src/pages/it/index.astro
+++ b/v3/src/pages/it/index.astro
@@ -61,16 +61,16 @@ const metadata = {
title="Potenzia il tuo accesso remoto con server self-hosted"
items={[
{
- title: 'Sovranità dei dati',
- description: 'Conformità normativa semplificata: RustDesk self-hosted garantisce la sovranità dei dati.',
+ title: 'Controllo totale dei dati',
+ description: 'Conformità normativa semplificata: RustDesk self-hosted mantiene i tuoi dati sotto il tuo pieno controllo.',
},
{
- title: 'Sicurezza migliorata',
- description: 'Rafforza la tua sicurezza: il deployment on-premise mantiene i tuoi dati sotto il tuo controllo.',
+ title: 'Open source di livello mondiale',
+ description: 'Con oltre 113.000 stelle su GitHub, RustDesk è tra i primi 100 progetti software open source al mondo, supportato da una vivace comunità globale.',
},
{
title: 'Prestazioni e affidabilità',
- description: 'Uptime garantito: il deployment on-premise assicura prestazioni ottimali e tempi di inattività minimi.',
+ description: 'Esegui sulla tua infrastruttura — nessuna dipendenza dalla disponibilità di SaaS di terze parti, nessun vicino rumoroso in ambienti condivisi.',
},
{
title: 'Flessibilità e personalizzazione',
@@ -190,7 +190,7 @@ const metadata = {
{ title: 'Download client', amount: '30M+' },
{ title: 'Download Docker', amount: '10M+' },
{ title: 'Dispositivi attivi', amount: '10M+' },
- { title: 'Stelle', amount: '106K+' },
+ { title: 'Stelle', amount: '113K+' },
{ title: 'Fork', amount: '15K+' },
{ title: 'Membri della comunità', amount: '50K+' },
{ title: 'Lingue', amount: '50+' },
diff --git a/v3/src/pages/it/pricing.astro b/v3/src/pages/it/pricing.astro
index 5ab92570..9f447be4 100644
--- a/v3/src/pages/it/pricing.astro
+++ b/v3/src/pages/it/pricing.astro
@@ -78,6 +78,7 @@ const currencyCopy = {
tip: 'La valuta scelta verrà utilizzata anche nella fattura.',
emailTip: "Dopo il pagamento andato a buon fine, riceverai fattura e licenza via e-mail. Inserisci l'indirizzo e-mail corretto nella pagina di pagamento successiva.",
businessTip: 'Se hai bisogno di una fattura aziendale con ragione sociale e partita IVA, seleziona la casella "Sto acquistando come azienda" nella pagina di pagamento successiva.',
+ sepaTip: "I pagamenti in EUR supportano l'addebito bancario SEPA. Tieni presente che, se scegli SEPA, la tua banca potrebbe impiegare fino a 5 giorni lavorativi per confermare il pagamento e la licenza ti sarà inviata via e-mail solo dopo. Se vuoi ricevere la licenza prima, ti consigliamo di scegliere un altro metodo di pagamento in tempo reale.",
confirm: 'Continua al pagamento',
cancel: 'Annulla',
};
@@ -91,36 +92,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: 'Conferma per favore',
- html: `Vuoi procedere alla pagina di acquisto?
Si prega di notare che ciò che stai acquistando NON è un abbonamento SaaS (Software as a Service).
Invece, è una licenza per una soluzione self-hosting, che richiede di essere distribuita sul tuo server (server cloud, ad esempio AWS EC2, Azure VM, Vultr VPS ecc., o il tuo server on-premise).
Per favore non acquistare se non sai cosa sia il self-hosting`,
+ html: `
+
Ciò che stai acquistando NON è un abbonamento SaaS — è una licenza per una soluzione self-hosting che richiede il deployment sul tuo server (ad esempio AWS EC2, Azure VM, Vultr VPS o il tuo server on-premise).
+
Non offriamo rimborsi. Ti consigliamo vivamente di testare prima il nostro piano gratuito self-hosting prima di acquistare il piano Pro.
+
Per favore, non acquistare se non sai cosa sia il self-hosting.
+
Vuoi procedere alla pagina di acquisto?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Sì',
+ confirmButtonText: 'Sì, procedi',
cancelButtonText: 'No',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: 'Conferma per favore',
- html: `Si prega di notare che non offriamo rimborsi. Ti consigliamo vivamente di testare il nostro piano gratuito di self-hosting prima di considerare l'acquisto del nostro piano Pro. Sei ancora interessato a procedere?`,
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Sì',
- cancelButtonText: 'No',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/ja/index.astro b/v3/src/pages/ja/index.astro
index 562f4b1d..e0827d48 100644
--- a/v3/src/pages/ja/index.astro
+++ b/v3/src/pages/ja/index.astro
@@ -60,16 +60,16 @@ const metadata = {
title="セルフホストサーバーでリモートアクセスを強化"
items={[
{
- title: 'データ主権',
- description: '規制遵守が容易に:セルフホストの RustDesk がデータ主権を確保します。',
+ title: 'データの完全な管理',
+ description: '規制遵守が容易に:セルフホストの RustDesk なら、データを完全にご自身で管理できます。',
},
{
- title: '強化されたセキュリティ',
- description: 'セキュリティを強化:オンプレミス展開によりデータを自身の管理下に置きます。',
+ title: '世界クラスのオープンソース',
+ description: 'GitHubで113K+スター。RustDeskは世界のトップ100オープンソースソフトウェアプロジェクトにランクインし、活気あるグローバルコミュニティに支えられています。',
},
{
title: 'パフォーマンスと信頼性',
- description: '稼働時間保証:オンプレミス展開により最適なパフォーマンスと最小限のダウンタイムを確保します。',
+ description: '自身のインフラ上で稼働 — サードパーティSaaSの可用性に依存せず、共有環境の「うるさい隣人」もいません。',
},
{
title: '柔軟性とカスタマイズ',
@@ -189,7 +189,7 @@ const metadata = {
{ title: 'クライアントダウンロード数', amount: '3000万+' },
{ title: 'Dockerダウンロード数', amount: '1000万+' },
{ title: 'アクティブデバイス', amount: '10M+' },
- { title: 'スター数', amount: '10.6万+' },
+ { title: 'スター数', amount: '11.3万+' },
{ title: 'フォーク数', amount: '1.5万+' },
{ title: 'コミュニティメンバー', amount: '5万+' },
{ title: '言語', amount: '50+' },
diff --git a/v3/src/pages/ja/pricing.astro b/v3/src/pages/ja/pricing.astro
index a995a244..75661906 100644
--- a/v3/src/pages/ja/pricing.astro
+++ b/v3/src/pages/ja/pricing.astro
@@ -77,6 +77,7 @@ const currencyCopy = {
tip: '選択した通貨は、請求書でも使用されます。',
emailTip: 'お支払い完了後、請求書とライセンスがメールで届きます。次の決済ページでは正しいメールアドレスを入力してください。',
businessTip: '会社名と税番号入りの請求書が必要な場合は、次の決済ページで "事業者として購入する" のチェックボックスをオンにしてください。',
+ sepaTip: 'EUR 決済では SEPA の銀行引き落としに対応しています。SEPA を選択した場合、銀行での着金確認に最大 5 営業日かかることがあり、ライセンスは確認後にのみメールで送信されます。より早くライセンスを受け取りたい場合は、他の即時決済手段をおすすめします。',
confirm: '購入手続きへ進む',
cancel: 'キャンセル',
};
@@ -90,36 +91,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: '確認してください',
- html: `購入ページに進みますか?
購入するものは決して SaaS(サービスとしてのソフトウェア)サブスクリプションではないことにご注意ください。
代わりに、これはセルフホスティングソリューションのライセンスであり、自身のサーバー(クラウドサーバー、例えばAWS EC2、Azure VM、Vultr VPSなど、または自社のオンプレミスサーバー)にデプロイする必要があります。
セルフホスティングが何かわからない場合は、購入しないでください`,
+ html: `
+
購入するものはSaaS(サービスとしてのソフトウェア)サブスクリプションではありません。セルフホスティングソリューションのライセンスであり、自身のサーバー(AWS EC2、Azure VM、Vultr VPS、または自社のオンプレミスサーバーなど)にデプロイする必要があります。
+
当社は返金を行っておりません。Proプランを購入する前に、まず無料のセルフホスティングプランをテストすることを強くお勧めします。
+
セルフホスティングが何かわからない場合は、購入しないでください。
+
購入ページに進みますか?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'はい',
+ confirmButtonText: 'はい、続行',
cancelButtonText: 'いいえ',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: '確認してください',
- html: `当社は返金を行っていませんのでご注意ください。Proプランの購入を検討される前に、無料のセルフホスティングプランをテストすることを強くお勧めします。それでも進めますか?`,
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'はい',
- cancelButtonText: 'いいえ',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/ko/index.astro b/v3/src/pages/ko/index.astro
index bfad8a8b..87ec5440 100644
--- a/v3/src/pages/ko/index.astro
+++ b/v3/src/pages/ko/index.astro
@@ -60,16 +60,16 @@ const metadata = {
title="자체 호스팅 서버로 원격 액세스를 강화하세요"
items={[
{
- title: '데이터 주권',
- description: '규제 준수가 쉬워집니다: 자체 호스팅 RustDesk는 데이터 주권을 보장합니다.',
+ title: '데이터 완전 제어',
+ description: '규제 준수가 쉬워집니다: 자체 호스팅 RustDesk는 데이터를 완전히 여러분의 통제 아래 둡니다.',
},
{
- title: '강화된 보안',
- description: '보안을 강화하세요: 온프레미스 배포는 데이터를 제어할 수 있도록 합니다.',
+ title: '세계적 수준의 오픈소스',
+ description: 'GitHub 113K+ 스타, RustDesk는 전 세계 상위 100대 오픈소스 소프트웨어 프로젝트 중 하나로, 활기찬 글로벌 커뮤니티가 뒷받침합니다.',
},
{
title: '성능 및 신뢰성',
- description: '보장된 가동 시간: 온프레미스 배포는 최적의 성능과 최소한의 다운타임을 보장합니다.',
+ description: '자체 인프라에서 실행하세요 — 제3자 SaaS 가용성에 의존하지 않고, 공유 환경의 시끄러운 이웃도 없습니다.',
},
{
title: '유연성 및 사용자 정의',
@@ -189,7 +189,7 @@ const metadata = {
{ title: '클라이언트 다운로드', amount: '30M+' },
{ title: 'Docker 다운로드', amount: '10M+' },
{ title: '활성 장치', amount: '10M+' },
- { title: '스타', amount: '106K+' },
+ { title: '스타', amount: '113K+' },
{ title: '포크', amount: '15K+' },
{ title: '커뮤니티 회원', amount: '50K+' },
{ title: '언어', amount: '50+' },
diff --git a/v3/src/pages/ko/pricing.astro b/v3/src/pages/ko/pricing.astro
index 200173a0..e8b81853 100644
--- a/v3/src/pages/ko/pricing.astro
+++ b/v3/src/pages/ko/pricing.astro
@@ -75,6 +75,7 @@ const currencyCopy = {
tip: '선택한 통화는 인보이스에도 사용됩니다.',
emailTip: '결제가 완료되면 인보이스와 라이선스가 이메일로 발송됩니다. 다음 결제 페이지에서 올바른 이메일 주소를 입력해 주세요.',
businessTip: '회사명과 세금 번호가 포함된 사업자용 인보이스가 필요하면 다음 결제 페이지에서 "사업자로 구매합니다" 체크박스를 선택해 주세요.',
+ sepaTip: 'EUR 결제는 SEPA 은행 자동이체를 지원합니다. SEPA를 선택하면 은행에서 결제를 확인하는 데 최대 5영업일이 걸릴 수 있으며, 라이선스는 그 이후에만 이메일로 발송됩니다. 라이선스를 더 빨리 받고 싶다면 다른 실시간 결제 수단을 권장합니다.',
confirm: '결제로 계속',
cancel: '취소',
};
@@ -88,36 +89,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: '확인해 주세요',
- html: `구매 페이지로 진행하시겠습니까?
구매하시는 것은 SaaS(서비스형 소프트웨어) 구독이 아닌 자체 호스팅 솔루션의 라이센스입니다. 이 솔루션은 귀하의 서버(클라우드 서버, 예: AWS EC2, Azure VM, Vultr VPS 등)에서 배포해야 합니다.
자체 호스팅이 무엇인지 모른다면 구매하지 마세요`,
+ html: `
+
구매하시는 것은 SaaS(서비스형 소프트웨어) 구독이 아니라 자체 호스팅 솔루션의 라이센스이며, 귀하의 서버(예: AWS EC2, Azure VM, Vultr VPS 또는 온프레미스 서버)에 직접 배포해야 합니다.
+
환불을 제공하지 않습니다. Pro 플랜을 구매하기 전에 먼저 무료 자체 호스팅 플랜을 테스트하시는 것을 강력히 권장합니다.
+
자체 호스팅이 무엇인지 모른다면 구매하지 마세요.
+
구매 페이지로 진행하시겠습니까?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: '예',
+ confirmButtonText: '예, 진행',
cancelButtonText: '아니오',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: '확인해 주세요',
- html: `환불을 제공하지 않습니다. 구매하기 전에 무료 자체 호스팅 계획을 테스트하는 것을 강력히 권장합니다. 계속 진행하시겠습니까?`,
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: '예',
- cancelButtonText: '아니오',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/llms.txt.ts b/v3/src/pages/llms.txt.ts
index e2e38c34..a0e54440 100644
--- a/v3/src/pages/llms.txt.ts
+++ b/v3/src/pages/llms.txt.ts
@@ -29,7 +29,7 @@ export const GET: APIRoute = ({ site }) => {
'',
'## Key capabilities',
'- Secure remote desktop access and remote support',
- '- Self-hosted server deployment for data sovereignty and compliance',
+ '- Self-hosted server deployment for full data control and compliance',
'- Cross-platform support for Windows, macOS, Linux, Android, and iOS',
'- Web console, permissions, audit logs, SSO, LDAP, and centralized policy controls in Server Pro',
'',
diff --git a/v3/src/pages/pricing.astro b/v3/src/pages/pricing.astro
index 878315e0..b8928f7b 100644
--- a/v3/src/pages/pricing.astro
+++ b/v3/src/pages/pricing.astro
@@ -78,6 +78,7 @@ const currencyCopy = {
tip: 'The currency you choose will also be used on your invoice.',
emailTip: 'After successful payment, you will receive your invoice and license by email. Please enter the correct email address on the next payment page.',
businessTip: 'If you need a business invoice with your business name and tax number, please check the "I\'m purchasing as a business" checkbox on the next payment page.',
+ sepaTip: 'EUR payments support SEPA bank debit. Please note: if you choose SEPA, your bank may take up to 5 business days to confirm the payment, and your license will be emailed only after that. If you want to receive your license sooner, we recommend choosing another real-time payment method.',
confirm: 'Continue to checkout',
cancel: 'Cancel',
};
@@ -90,37 +91,33 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: 'Please Confirm',
- html: `Do you want to proceed to the purchase page?
Please note that what you are purchasing is NOT a SaaS(Software as a Service) subscription.
Instead, it is a license for a self-hosting solution, which requires you to deploy it on your own server (cloud server, e.g. AWS EC2, Azure VM, Vultr VPS etc, or your on-premise server).
Please don't buy if you don't know what is self-hosting`,
+ html: `
+
What you are purchasing is NOT a SaaS subscription — it is a license for a self-hosting solution that requires you to deploy it on your own server (e.g. AWS EC2, Azure VM, Vultr VPS, or your on-premise server).
+
We do not offer refunds. We strongly recommend testing our free self-hosting plan before purchasing the Pro plan.
+
Please don't buy if you don't know what self-hosting is.
+
Do you want to proceed to the purchase page?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Yes',
+ confirmButtonText: 'Yes, proceed',
cancelButtonText: 'No',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: 'Please Confirm',
- html: `Please note that we don't offer refunds. We strongly recommend testing our free self-hosting plan before considering the purchase of our Pro plan. Are you still interested in proceeding?`,
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Yes',
- cancelButtonText: 'No',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- // Fallback if URL API fails for any reason
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ // Fallback if URL API fails for any reason
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/pt/index.astro b/v3/src/pages/pt/index.astro
index f2ebf6bf..99755f0b 100644
--- a/v3/src/pages/pt/index.astro
+++ b/v3/src/pages/pt/index.astro
@@ -61,16 +61,16 @@ const metadata = {
title="Potencialize seu acesso remoto com servidores auto-hospedados"
items={[
{
- title: 'Soberania de dados',
- description: 'Conformidade regulatória facilitada: o RustDesk auto-hospedado garante a soberania dos dados.',
+ title: 'Controle total dos dados',
+ description: 'Conformidade regulatória facilitada: o RustDesk auto-hospedado mantém seus dados sob seu total controle.',
},
{
- title: 'Segurança aprimorada',
- description: 'Fortifique sua segurança: a implantação local mantém seus dados sob seu controle.',
+ title: 'Código aberto de classe mundial',
+ description: 'Com mais de 113 mil estrelas no GitHub, o RustDesk está entre os 100 principais projetos de software de código aberto do mundo, apoiado por uma comunidade global vibrante.',
},
{
title: 'Desempenho e confiabilidade',
- description: 'Tempo de atividade garantido: a implantação local garante desempenho ideal e tempo de inatividade mínimo.',
+ description: 'Execute em sua própria infraestrutura — sem dependência da disponibilidade de SaaS de terceiros, sem vizinhos barulhentos em ambientes compartilhados.',
},
{
title: 'Flexibilidade e personalização',
@@ -190,7 +190,7 @@ const metadata = {
{ title: 'Downloads do cliente', amount: '30M+' },
{ title: 'Downloads do Docker', amount: '10M+' },
{ title: 'Dispositivos ativos', amount: '10M+' },
- { title: 'Estrelas', amount: '106K+' },
+ { title: 'Estrelas', amount: '113K+' },
{ title: 'Forks', amount: '15K+' },
{ title: 'Membros da comunidade', amount: '50K+' },
{ title: 'Idiomas', amount: '50+' },
diff --git a/v3/src/pages/pt/pricing.astro b/v3/src/pages/pt/pricing.astro
index 84d2fa22..6c0abe80 100644
--- a/v3/src/pages/pt/pricing.astro
+++ b/v3/src/pages/pt/pricing.astro
@@ -78,6 +78,7 @@ const currencyCopy = {
tip: 'A moeda escolhida também será usada na sua fatura.',
emailTip: 'Após a confirmação do pagamento, você receberá a fatura e a licença por e-mail. Informe o endereço de e-mail correto na próxima página de pagamento.',
businessTip: 'Se você precisa de uma fatura empresarial com o nome da empresa e o número fiscal, marque a caixa "Estou comprando como empresa" na próxima página de pagamento.',
+ sepaTip: 'Pagamentos em EUR aceitam débito bancário SEPA. Observe que, se você escolher SEPA, o seu banco pode levar até 5 dias úteis para confirmar o pagamento, e a licença só será enviada por e-mail depois disso. Se quiser receber a licença mais rápido, recomendamos escolher outro método de pagamento em tempo real.',
confirm: 'Continuar para o checkout',
cancel: 'Cancelar',
};
@@ -91,36 +92,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: 'Por favor, confirme',
- html: `Deseja prosseguir para a página de compra?
Por favor, note que o que você está comprando NÃO é uma assinatura de SaaS (Software como Serviço).
Em vez disso, é uma licença para uma solução de auto-hospedagem, que requer que você a implante em seu próprio servidor (servidor na nuvem, por exemplo, AWS EC2, Azure VM, Vultr VPS etc., ou seu servidor local).
Por favor, não compre se você não sabe o que é auto-hospedagem`,
+ html: `
+
O que você está comprando NÃO é uma assinatura SaaS — é uma licença para uma solução de auto-hospedagem que requer que você a implante em seu próprio servidor (por exemplo, AWS EC2, Azure VM, Vultr VPS ou seu servidor local).
+
Não oferecemos reembolsos. Recomendamos fortemente testar primeiro nosso plano gratuito de auto-hospedagem antes de comprar o plano Pro.
+
Por favor, não compre se você não sabe o que é auto-hospedagem.
+
Deseja prosseguir para a página de compra?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Sim',
+ confirmButtonText: 'Sim, prosseguir',
cancelButtonText: 'Não',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: 'Por favor, confirme',
- html: `Por favor, note que não oferecemos reembolsos. Recomendamos fortemente testar nosso plano gratuito de auto-hospedagem antes de considerar a compra do nosso plano Pro. Você ainda está interessado em prosseguir?`,
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: 'Sim',
- cancelButtonText: 'Não',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/zh-cn/index.astro b/v3/src/pages/zh-cn/index.astro
index fc4f80b1..19f31e35 100644
--- a/v3/src/pages/zh-cn/index.astro
+++ b/v3/src/pages/zh-cn/index.astro
@@ -61,16 +61,16 @@ const metadata = {
title="通过自托管增强您的远程访问"
items={[
{
- title: '数据主权',
- description: '轻松实现合规性:自托管 RustDesk 确保数据主权。',
+ title: '数据完全自主',
+ description: '轻松实现合规性:自托管 RustDesk 让您的数据完全自主。',
},
{
- title: '增强的安全性',
- description: '加强您的安全性:本地部署使您的数据保持在您的控制之下。',
+ title: '世界级开源项目',
+ description: 'GitHub 113K+ stars,RustDesk 位列全球前 100 名开源软件项目,由充满活力的全球社区共同支撑。',
},
{
title: '性能和可靠性',
- description: '保证正常运行时间:本地部署确保最佳性能和最小的停机时间。',
+ description: '运行在您自己的基础设施上——不依赖第三方 SaaS 的可用性,也没有共享环境中的"吵闹邻居"。',
},
{
title: '灵活性和定制化',
@@ -190,7 +190,7 @@ const metadata = {
{ title: '客户端下载量', amount: '3000万+' },
{ title: 'Docker 下载量', amount: '1000万+' },
{ title: '在线设备', amount: '10M+' },
- { title: 'Stars', amount: '10.6万+' },
+ { title: 'Stars', amount: '11.3万+' },
{ title: 'Forks', amount: '1.5万+' },
{ title: '社区成员', amount: '5万+' },
{ title: '语言', amount: '50+' },
diff --git a/v3/src/pages/zh-cn/pricing.astro b/v3/src/pages/zh-cn/pricing.astro
index d0e7ef7d..6956e128 100644
--- a/v3/src/pages/zh-cn/pricing.astro
+++ b/v3/src/pages/zh-cn/pricing.astro
@@ -75,6 +75,7 @@ const currencyCopy = {
tip: '你选择的货币也会用于发票。',
emailTip: '付款成功后,你将通过邮箱收到发票和许可证。请在接下来的付款页面填写正确的邮箱地址。',
businessTip: '如果你需要包含公司名称和税号的企业发票,请在接下来的付款页面勾选 "我正在以企业身份购买" 复选框。',
+ sepaTip: '欧元支付支持 SEPA 银行扣款。请注意:若选择 SEPA,银行最多可能需要 5 个工作日确认收款;款项确认后,我们才会通过邮件发送许可证。若希望更快收到许可证,建议选择其他实时支付方式。',
confirm: '继续购买',
cancel: '取消',
};
@@ -88,36 +89,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: '请确认',
- html: '您是否要继续前往购买页面?
请注意,您购买的不是 SaaS(软件即服务) 订阅。
相反,这是一个 自托管 解决方案的许可证,您需要将其部署在您自己的服务器上(云服务器,例如 AWS EC2、Azure VM、Vultr VPS 等,或您的本地服务器)。
如果您不知道什么是自托管,请不要购买。',
+ html: `
+
您购买的不是 SaaS(软件即服务)订阅——而是自托管解决方案的许可证,需要您将其部署在自己的服务器上(例如 AWS EC2、Azure VM、Vultr VPS 或您的本地服务器)。
+
我们不提供退款。强烈建议您在购买 Pro 版之前,先测试我们的免费自托管计划。
+
如果您不知道什么是自托管,请不要购买。
+
是否继续前往购买页面?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: '是',
+ confirmButtonText: '是,继续',
cancelButtonText: '否',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: '请确认',
- html: '请注意,我们 不 提供 退款。我们强烈建议在考虑购买我们的专业版计划之前,测试我们的免费自托管计划。您是否仍然有兴趣继续?',
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: '是',
- cancelButtonText: '否',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/pages/zh-tw/index.astro b/v3/src/pages/zh-tw/index.astro
index 96d30872..45c8127a 100644
--- a/v3/src/pages/zh-tw/index.astro
+++ b/v3/src/pages/zh-tw/index.astro
@@ -60,16 +60,16 @@ const metadata = {
title="透過自託管伺服器強化您的遠端存取"
items={[
{
- title: '資料主權',
- description: '輕鬆符合法規要求:自託管 RustDesk 確保資料主權。',
+ title: '資料完全自主',
+ description: '輕鬆符合法規要求:自託管 RustDesk 讓您的資料完全自主。',
},
{
- title: '增強安全性',
- description: '強化您的安全性:本地部署讓您的資料保持在您的控制之下。',
+ title: '世界級開源專案',
+ description: 'GitHub 113K+ stars,RustDesk 位列全球前 100 名開源軟體專案,由充滿活力的全球社群共同支撐。',
},
{
title: '效能和可靠性',
- description: '保證運行時間:本地部署確保最佳效能和最少停機時間。',
+ description: '運行在您自己的基礎設施上——不依賴第三方 SaaS 的可用性,也沒有共享環境中的「吵鬧鄰居」。',
},
{
title: '靈活性和客製化',
@@ -189,7 +189,7 @@ const metadata = {
{ title: '客戶端下載量', amount: '3000萬+' },
{ title: 'Docker 下載量', amount: '1000萬+' },
{ title: '活躍裝置', amount: '10M+' },
- { title: '星標數', amount: '10.6萬+' },
+ { title: '星標數', amount: '11.3萬+' },
{ title: '分叉數', amount: '1.5萬+' },
{ title: '社群成員', amount: '5萬+' },
{ title: '支援語言', amount: '50+' },
diff --git a/v3/src/pages/zh-tw/pricing.astro b/v3/src/pages/zh-tw/pricing.astro
index 60841ad1..179589cb 100644
--- a/v3/src/pages/zh-tw/pricing.astro
+++ b/v3/src/pages/zh-tw/pricing.astro
@@ -73,6 +73,7 @@ const currencyCopy = {
tip: '你選擇的貨幣也會用於發票。',
emailTip: '付款成功後,你將透過電子郵件收到發票和授權。請在接下來的付款頁面填寫正確的電子郵件地址。',
businessTip: '如果你需要包含公司名稱和稅號的企業發票,請在接下來的付款頁面勾選 "我正以企業身分購買" 核取方塊。',
+ sepaTip: '歐元支付支援 SEPA 銀行扣款。請注意:若選擇 SEPA,銀行最多可能需要 5 個工作天確認收款;款項確認後,我們才會透過電子郵件發送授權。若希望更快收到授權,建議選擇其他即時支付方式。',
confirm: '繼續購買',
cancel: '取消',
};
@@ -86,36 +87,32 @@ const currencyCopy = {
window['gotoBuy'] = function (redirectUrl) {
Swal.fire({
title: '請確認',
- html: `您確定要前往購買頁面嗎?
請注意,您購買的不是SaaS(軟體即服務)訂閱。
相反,這是一個自託管解決方案的授權,需要您在自己的伺服器上部署(雲端伺服器,如AWS EC2、Azure VM、Vultr VPS等,或您的本地伺服器)。
如果您不了解什麼是自託管,請不要購買。`,
+ html: `
+
您購買的不是SaaS(軟體即服務)訂閱——而是自託管解決方案的授權,需要您在自己的伺服器上部署(例如 AWS EC2、Azure VM、Vultr VPS 或您的本地伺服器)。
+
我們不提供退款。強烈建議您在購買 Pro 計劃之前,先試用我們的免費自託管計劃。
+
如果您不了解什麼是自託管,請不要購買。
+
是否繼續前往購買頁面?
+
`,
icon: 'question',
+ customClass: { icon: 'pricing-purchase-dialog-icon' },
showCancelButton: true, reverseButtons: true,
- confirmButtonText: '是',
+ confirmButtonText: '是,繼續',
cancelButtonText: '否',
}).then((result) => {
if (result.isConfirmed) {
- Swal.fire({
- title: '請確認',
- html: `請注意,我們不提供退款。我們強烈建議您在考慮購買我們的Pro計劃之前,先試用我們的免費自託管計劃。您仍然想要繼續嗎?`,
- showCancelButton: true, reverseButtons: true,
- confirmButtonText: '是',
- cancelButtonText: '否',
- }).then((result) => {
- if (result.isConfirmed) {
- try {
- const url = new URL(redirectUrl);
- const pageParams = new URLSearchParams(window.location.search);
- pageParams.forEach((value, key) => {
- if (!url.searchParams.has(key)) url.searchParams.append(key, value);
- });
- window.open(url.toString(), '_blank');
- } catch (e) {
- const qs = window.location.search
- ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
- : '';
- window.open(redirectUrl + qs, '_blank');
- }
- }
- });
+ try {
+ const url = new URL(redirectUrl);
+ const pageParams = new URLSearchParams(window.location.search);
+ pageParams.forEach((value, key) => {
+ if (!url.searchParams.has(key)) url.searchParams.append(key, value);
+ });
+ window.open(url.toString(), '_blank');
+ } catch (e) {
+ const qs = window.location.search
+ ? (redirectUrl.includes('?') ? '&' : '?') + window.location.search.slice(1)
+ : '';
+ window.open(redirectUrl + qs, '_blank');
+ }
}
});
};
diff --git a/v3/src/types.d.ts b/v3/src/types.d.ts
index 6d109a47..3600f922 100644
--- a/v3/src/types.d.ts
+++ b/v3/src/types.d.ts
@@ -239,6 +239,7 @@ export interface PricingCurrencyCopy {
tip: string;
emailTip: string;
businessTip: string;
+ sepaTip?: string;
confirm: string;
cancel: string;
}
diff --git a/v3/zh/pricing.html b/v3/zh/pricing.html
index cb601d8f..8c09532c 100644
--- a/v3/zh/pricing.html
+++ b/v3/zh/pricing.html
@@ -834,29 +834,36 @@ window.addEventListener("load", function() {
gtag('config', 'UA-178912857-1');
+