diff --git a/app/src/main/java/io/xpipe/app/util/LicenseProvider.java b/app/src/main/java/io/xpipe/app/util/LicenseProvider.java index dff946f9..78a2cae4 100644 --- a/app/src/main/java/io/xpipe/app/util/LicenseProvider.java +++ b/app/src/main/java/io/xpipe/app/util/LicenseProvider.java @@ -16,6 +16,8 @@ public abstract class LicenseProvider { return INSTANCE; } + public abstract String formatExceptionMessage(String name, boolean plural, LicensedFeature licensedFeature); + public abstract boolean hasLicense(); public abstract ObservableValue licenseTitle(); diff --git a/app/src/main/java/io/xpipe/app/util/LicenseRequiredException.java b/app/src/main/java/io/xpipe/app/util/LicenseRequiredException.java index 6ec69ffd..4348bca3 100644 --- a/app/src/main/java/io/xpipe/app/util/LicenseRequiredException.java +++ b/app/src/main/java/io/xpipe/app/util/LicenseRequiredException.java @@ -1,7 +1,5 @@ package io.xpipe.app.util; -import io.xpipe.app.core.AppI18n; - import lombok.Getter; @Getter @@ -10,21 +8,12 @@ public class LicenseRequiredException extends RuntimeException { private final LicensedFeature feature; public LicenseRequiredException(LicensedFeature feature) { - super(feature.getDisplayName() + " " - + (feature.isPlural() ? AppI18n.get("areOnlySupported") : AppI18n.get("isOnlySupported"))); - this.feature = feature; - } - - public LicenseRequiredException(LicensedFeature feature, int limit) { - super(feature.getDisplayName() + " " - + (feature.isPlural() - ? AppI18n.get("areOnlySupportedLimit", limit) - : AppI18n.get("isOnlySupportedLimit", limit))); + super(LicenseProvider.get().formatExceptionMessage(feature.getDisplayName(), feature.isPlural(), feature)); this.feature = feature; } public LicenseRequiredException(String featureName, boolean plural, LicensedFeature feature) { - super(featureName + " " + (plural ? AppI18n.get("areOnlySupported") : AppI18n.get("isOnlySupported"))); + super(LicenseProvider.get().formatExceptionMessage(featureName, plural, feature)); this.feature = feature; } } diff --git a/app/src/main/java/io/xpipe/app/util/ShellTemp.java b/app/src/main/java/io/xpipe/app/util/ShellTemp.java index 9b8173fd..c323b1f6 100644 --- a/app/src/main/java/io/xpipe/app/util/ShellTemp.java +++ b/app/src/main/java/io/xpipe/app/util/ShellTemp.java @@ -63,7 +63,7 @@ public class ShellTemp { var systemTemp = proc.getSystemTemporaryDirectory(); if (!d.directoryExists(proc, systemTemp.toString()).executeAndCheck() || !checkDirectoryPermissions(proc, systemTemp.toString())) { - throw ErrorEvent.expected(new IOException("No permissions to access %s".formatted(systemTemp))); + throw ErrorEvent.expected(new IOException("No permissions to access system temporary directory %s".formatted(systemTemp))); } // We don't do this anymore, we hope that all the legacy directories have been cleared now diff --git a/lang/app/strings/translations_da.properties b/lang/app/strings/translations_da.properties index ee84e784..1a009900 100644 --- a/lang/app/strings/translations_da.properties +++ b/lang/app/strings/translations_da.properties @@ -441,8 +441,6 @@ size=Størrelse attributes=Attributter modified=Ændret owner=Ejer -isOnlySupported=understøttes kun med en licens -areOnlySupported=understøttes kun med en licens updateReadyTitle=Opdatering til $VERSION$ klar templates=Skabeloner retry=Prøv igen diff --git a/lang/app/strings/translations_de.properties b/lang/app/strings/translations_de.properties index 0835708c..194b399b 100644 --- a/lang/app/strings/translations_de.properties +++ b/lang/app/strings/translations_de.properties @@ -437,8 +437,6 @@ size=Größe attributes=Attribute modified=Geändert owner=Eigentümer -isOnlySupported=wird nur mit einer Lizenz unterstützt -areOnlySupported=werden nur mit einer Lizenz unterstützt updateReadyTitle=Update auf $VERSION$ bereit #custom templates=Vorlagen diff --git a/lang/app/strings/translations_en.properties b/lang/app/strings/translations_en.properties index cdaceece..d5717645 100644 --- a/lang/app/strings/translations_en.properties +++ b/lang/app/strings/translations_en.properties @@ -440,8 +440,6 @@ attributes=Attributes #context: title, last modified date modified=Modified owner=Owner -isOnlySupported=is only supported with a license -areOnlySupported=are only supported with a license updateReadyTitle=Update to $VERSION$ ready #context: digital template templates=Templates diff --git a/lang/app/strings/translations_es.properties b/lang/app/strings/translations_es.properties index b7b47d56..bcb0f083 100644 --- a/lang/app/strings/translations_es.properties +++ b/lang/app/strings/translations_es.properties @@ -425,8 +425,6 @@ size=Tamaño attributes=Atributos modified=Modificado owner=Propietario -isOnlySupported=sólo es compatible con una licencia -areOnlySupported=sólo se admiten con licencia updateReadyTitle=Actualiza a $VERSION$ ready templates=Plantillas retry=Reintentar diff --git a/lang/app/strings/translations_fr.properties b/lang/app/strings/translations_fr.properties index 772be96f..805543d0 100644 --- a/lang/app/strings/translations_fr.properties +++ b/lang/app/strings/translations_fr.properties @@ -425,8 +425,6 @@ size=Taille attributes=Attributs modified=Modifié owner=Propriétaire -isOnlySupported=n'est pris en charge qu'avec une licence -areOnlySupported=ne sont prises en charge qu'avec une licence updateReadyTitle=Mise à jour de $VERSION$ ready templates=Modèles retry=Réessayer diff --git a/lang/app/strings/translations_it.properties b/lang/app/strings/translations_it.properties index 31e4403a..16b804f2 100644 --- a/lang/app/strings/translations_it.properties +++ b/lang/app/strings/translations_it.properties @@ -425,8 +425,6 @@ size=Dimensione attributes=Attributi modified=Modificato owner=Proprietario -isOnlySupported=è supportato solo con una licenza -areOnlySupported=sono supportati solo con una licenza updateReadyTitle=Aggiornamento a $VERSION$ ready templates=Modelli retry=Riprova diff --git a/lang/app/strings/translations_ja.properties b/lang/app/strings/translations_ja.properties index 51f13940..737d0463 100644 --- a/lang/app/strings/translations_ja.properties +++ b/lang/app/strings/translations_ja.properties @@ -425,8 +425,6 @@ size=サイズ attributes=属性 modified=変更された owner=所有者 -isOnlySupported=がサポートされているのは、ライセンス -areOnlySupported=がサポートされるのはライセンスが必要である updateReadyTitle=$VERSION$ に更新 templates=テンプレート retry=リトライ diff --git a/lang/app/strings/translations_nl.properties b/lang/app/strings/translations_nl.properties index e0fabc82..b507d84d 100644 --- a/lang/app/strings/translations_nl.properties +++ b/lang/app/strings/translations_nl.properties @@ -425,8 +425,6 @@ size=Grootte attributes=Attributen modified=Gewijzigd owner=Eigenaar -isOnlySupported=wordt alleen ondersteund met een licentie -areOnlySupported=worden alleen ondersteund met een licentie updateReadyTitle=Bijwerken naar $VERSION$ klaar templates=Sjablonen retry=Opnieuw proberen diff --git a/lang/app/strings/translations_pt.properties b/lang/app/strings/translations_pt.properties index 71b707f9..726d066b 100644 --- a/lang/app/strings/translations_pt.properties +++ b/lang/app/strings/translations_pt.properties @@ -425,8 +425,6 @@ size=Tamanho attributes=Atribui modified=Modificado owner=Proprietário -isOnlySupported=só é suportado com uma licença -areOnlySupported=só são suportados com uma licença updateReadyTitle=Actualiza para $VERSION$ ready templates=Modelos retry=Repetir diff --git a/lang/app/strings/translations_ru.properties b/lang/app/strings/translations_ru.properties index cd1ec681..a4b917d2 100644 --- a/lang/app/strings/translations_ru.properties +++ b/lang/app/strings/translations_ru.properties @@ -425,8 +425,6 @@ size=Размер attributes=Атрибуты modified=Изменено owner=Владелец -isOnlySupported=поддерживается только при наличии лицензии -areOnlySupported=поддерживаются только при наличии лицензии updateReadyTitle=Обновление на $VERSION$ готово templates=Шаблоны retry=Retry diff --git a/lang/app/strings/translations_tr.properties b/lang/app/strings/translations_tr.properties index 945cf4cc..380a6082 100644 --- a/lang/app/strings/translations_tr.properties +++ b/lang/app/strings/translations_tr.properties @@ -426,8 +426,6 @@ size=Boyut attributes=Nitelikler modified=Değiştirilmiş owner=Sahibi -isOnlySupported=yalnızca bir lisans ile desteklenir -areOnlySupported=yalnızca bir lisans ile desteklenir updateReadyTitle=$VERSION$ için güncelleme hazır templates=Şablonlar retry=Yeniden Dene diff --git a/lang/app/strings/translations_zh.properties b/lang/app/strings/translations_zh.properties index d78dadb5..e1890a56 100644 --- a/lang/app/strings/translations_zh.properties +++ b/lang/app/strings/translations_zh.properties @@ -425,8 +425,6 @@ size=大小 attributes=属性 modified=已修改 owner=所有者 -isOnlySupported=只有获得许可后才支持 -areOnlySupported=只有获得许可后才支持 updateReadyTitle=更新至$VERSION$ ready templates=模板 retry=重试 diff --git a/lang/uacc/strings/fixed_en.properties b/lang/uacc/strings/fixed_en.properties index 9da80549..51f214c5 100644 --- a/lang/uacc/strings/fixed_en.properties +++ b/lang/uacc/strings/fixed_en.properties @@ -1,4 +1,4 @@ community=Community professional=Professional -proPreview=Pro preview -preview=Professional Preview +proPreview=Preview +preview=Preview diff --git a/lang/uacc/strings/translations_da.properties b/lang/uacc/strings/translations_da.properties index 9701941a..02d735bc 100644 --- a/lang/uacc/strings/translations_da.properties +++ b/lang/uacc/strings/translations_da.properties @@ -18,7 +18,7 @@ type=Skriv licenseAlertTitle=Kommerciel brug useCommunity=Fortsæt med fællesskab previewDescription=Afprøv nye funktioner i et par uger efter udgivelsen. -tryPreview=Aktiver forhåndsvisning af XPipe +tryPreview=Aktiver forhåndsvisning previewItem1=Fuld adgang til nyligt udgivne professionelle funktioner i 2 uger efter udgivelsen previewItem2=Prøv nye funktioner uden nogen forpligtelse licensedTo=Licenseret til @@ -36,3 +36,5 @@ inactive=Inaktiv upgradeInfo=Du kan finde oplysninger om opgradering til en professionel licens nedenfor. upgradeInfoPreview=Du kan finde oplysninger om opgradering til en professionel licens nedenfor eller prøve det nye pro preview. enterLicenseKey=Indtast licensnøgle for at opgradere +isOnlySupported=understøttes kun med mindst en $TYPE$ -licens +areOnlySupported=understøttes kun med mindst en $TYPE$ -licens diff --git a/lang/uacc/strings/translations_de.properties b/lang/uacc/strings/translations_de.properties index c476c25f..411c58d0 100644 --- a/lang/uacc/strings/translations_de.properties +++ b/lang/uacc/strings/translations_de.properties @@ -18,7 +18,7 @@ type=Typ licenseAlertTitle=Kommerzielle Nutzung useCommunity=Weiter mit Community previewDescription=Teste die neuen Funktionen ein paar Wochen lang nach der Veröffentlichung. -tryPreview=Aktiviere die XPipe-Vorschau +tryPreview=Vorschau aktivieren previewItem1=Voller Zugang zu neu veröffentlichten professionellen Funktionen für 2 Wochen nach der Veröffentlichung previewItem2=Probiere neue Funktionen unverbindlich aus licensedTo=Lizensiert für @@ -36,3 +36,5 @@ inactive=Inaktiv upgradeInfo=Informationen zum Upgrade auf eine professionelle Lizenz findest du weiter unten. upgradeInfoPreview=Informationen zum Upgrade auf eine Professional-Lizenz findest du weiter unten oder du kannst die neue Pro-Vorschau ausprobieren. enterLicenseKey=Lizenzschlüssel für das Upgrade eingeben +isOnlySupported=wird nur mit mindestens einer $TYPE$ Lizenz unterstützt +areOnlySupported=werden nur mit mindestens einer $TYPE$ Lizenz unterstützt diff --git a/lang/uacc/strings/translations_en.properties b/lang/uacc/strings/translations_en.properties index bea21708..1b746abd 100644 --- a/lang/uacc/strings/translations_en.properties +++ b/lang/uacc/strings/translations_en.properties @@ -18,7 +18,7 @@ type=Type licenseAlertTitle=Commercial usage useCommunity=Continue with community previewDescription=Try out new features for a couple of weeks after release. -tryPreview=Activate XPipe preview +tryPreview=Activate preview previewItem1=Full access to newly released professional features for 2 weeks after release previewItem2=Try out new features without any commitment licensedTo=Licensed to @@ -38,5 +38,7 @@ active=Active #context: Not selected inactive=Inactive upgradeInfo=You can find information about upgrading to a professional license below. -upgradeInfoPreview=You can find information about upgrading to a professional license below or try out the new pro preview. -enterLicenseKey=Enter license key to upgrade \ No newline at end of file +upgradeInfoPreview=You can find information about upgrading to a professional license below or try out the preview. +enterLicenseKey=Enter license key to upgrade +isOnlySupported=is only supported with at least a $TYPE$ license +areOnlySupported=are only supported with at least a $TYPE$ license diff --git a/lang/uacc/strings/translations_es.properties b/lang/uacc/strings/translations_es.properties index 632eed1e..3e5ee02f 100644 --- a/lang/uacc/strings/translations_es.properties +++ b/lang/uacc/strings/translations_es.properties @@ -18,7 +18,7 @@ type=Escribe licenseAlertTitle=Uso comercial useCommunity=Continuar con la comunidad previewDescription=Prueba las nuevas funciones durante un par de semanas después del lanzamiento. -tryPreview=Activar la vista previa de XPipe +tryPreview=Activar vista previa previewItem1=Acceso completo a las nuevas funciones profesionales durante 2 semanas después del lanzamiento previewItem2=Prueba nuevas funciones sin compromiso licensedTo=Con licencia @@ -35,3 +35,5 @@ inactive=Inactivo upgradeInfo=A continuación encontrarás información sobre cómo obtener una licencia profesional. upgradeInfoPreview=A continuación puedes encontrar información sobre cómo actualizar a una licencia profesional o probar la nueva vista previa pro. enterLicenseKey=Introduce la clave de licencia para actualizar +isOnlySupported=sólo es compatible al menos con la licencia $TYPE$ +areOnlySupported=sólo se admiten con una licencia de al menos $TYPE$ diff --git a/lang/uacc/strings/translations_fr.properties b/lang/uacc/strings/translations_fr.properties index dd0b7ab9..1ea04063 100644 --- a/lang/uacc/strings/translations_fr.properties +++ b/lang/uacc/strings/translations_fr.properties @@ -18,7 +18,7 @@ type=Type de texte licenseAlertTitle=Usage commercial useCommunity=Continue avec la communauté previewDescription=Essaie les nouvelles fonctionnalités pendant quelques semaines après leur publication. -tryPreview=Activer l'aperçu de XPipe +tryPreview=Activer l'aperçu previewItem1=Accès complet aux fonctionnalités professionnelles nouvellement publiées pendant 2 semaines après la sortie de la version previewItem2=Essaie les nouvelles fonctions sans t'engager licensedTo=Sous licence @@ -35,3 +35,5 @@ inactive=Inactif upgradeInfo=Tu trouveras ci-dessous des informations sur la mise à niveau vers une licence professionnelle. upgradeInfoPreview=Tu trouveras ci-dessous des informations sur la mise à niveau vers une licence professionnelle ou tu pourras essayer le nouvel aperçu pro. enterLicenseKey=Saisis la clé de licence pour la mise à niveau +isOnlySupported=n'est pris en charge qu'avec au moins une licence $TYPE$ +areOnlySupported=ne sont pris en charge qu'avec au moins une licence $TYPE$ diff --git a/lang/uacc/strings/translations_it.properties b/lang/uacc/strings/translations_it.properties index d29f1848..a5a3575e 100644 --- a/lang/uacc/strings/translations_it.properties +++ b/lang/uacc/strings/translations_it.properties @@ -18,7 +18,7 @@ type=Tipo licenseAlertTitle=Uso commerciale useCommunity=Continua con la comunità previewDescription=Prova le nuove funzionalità per un paio di settimane dopo il rilascio. -tryPreview=Attiva l'anteprima di XPipe +tryPreview=Attiva l'anteprima previewItem1=Accesso completo alle funzioni professionali appena rilasciate per 2 settimane dal rilascio previewItem2=Prova nuove funzionalità senza alcun impegno licensedTo=Con licenza di @@ -35,3 +35,5 @@ inactive=Non attivo upgradeInfo=Qui di seguito puoi trovare informazioni sull'aggiornamento a una licenza professionale. upgradeInfoPreview=Puoi trovare informazioni sull'aggiornamento a una licenza professionale qui sotto o provare la nuova anteprima pro. enterLicenseKey=Inserisci la chiave di licenza per l'aggiornamento +isOnlySupported=è supportato solo con almeno una licenza $TYPE$ +areOnlySupported=sono supportati solo con una licenza di almeno $TYPE$ diff --git a/lang/uacc/strings/translations_ja.properties b/lang/uacc/strings/translations_ja.properties index f0a657a6..26cc1c6d 100644 --- a/lang/uacc/strings/translations_ja.properties +++ b/lang/uacc/strings/translations_ja.properties @@ -18,7 +18,7 @@ type=タイプ licenseAlertTitle=商用利用 useCommunity=コミュニティに続く previewDescription=リリース後数週間は新機能を試す。 -tryPreview=XPipeプレビューを有効にする +tryPreview=プレビューを有効にする previewItem1=リリース後2週間、新しくリリースされたプロフェッショナル機能にフルアクセスできる previewItem2=コミットメントなしで新機能を試す licensedTo=ライセンス対象 @@ -35,3 +35,5 @@ inactive=非アクティブ upgradeInfo=プロライセンスへのアップグレードに関する情報は下記を参照のこと。 upgradeInfoPreview=プロライセンスへのアップグレードに関する情報は下記を参照するか、新しいプロプレビューを試すことができる。 enterLicenseKey=ライセンスキーを入力してアップグレードする +isOnlySupported=は、少なくとも$TYPE$ ライセンスでのみサポートされる。 +areOnlySupported=は、少なくとも$TYPE$ ライセンスでのみサポートされる。 diff --git a/lang/uacc/strings/translations_nl.properties b/lang/uacc/strings/translations_nl.properties index 56f4b04f..828722d4 100644 --- a/lang/uacc/strings/translations_nl.properties +++ b/lang/uacc/strings/translations_nl.properties @@ -18,7 +18,7 @@ type=Type licenseAlertTitle=Commercieel gebruik useCommunity=Verder met gemeenschap previewDescription=Probeer nieuwe functies een paar weken na de release uit. -tryPreview=XPipe voorvertoning activeren +tryPreview=Voorbeeld activeren previewItem1=Volledige toegang tot nieuwe professionele functies gedurende 2 weken na de release previewItem2=Nieuwe functies uitproberen zonder enige verplichting licensedTo=Gelicentieerd aan @@ -35,3 +35,5 @@ inactive=Inactief upgradeInfo=Informatie over het upgraden naar een professionele licentie vind je hieronder. upgradeInfoPreview=Je kunt hieronder informatie vinden over het upgraden naar een professionele licentie of de nieuwe pro preview uitproberen. enterLicenseKey=Licentiesleutel invoeren om te upgraden +isOnlySupported=wordt alleen ondersteund met minimaal een $TYPE$ licentie +areOnlySupported=worden alleen ondersteund met minimaal een $TYPE$ licentie diff --git a/lang/uacc/strings/translations_pt.properties b/lang/uacc/strings/translations_pt.properties index 10b0e785..dbd4aa60 100644 --- a/lang/uacc/strings/translations_pt.properties +++ b/lang/uacc/strings/translations_pt.properties @@ -18,7 +18,7 @@ type=Digita licenseAlertTitle=Utilização comercial useCommunity=Continua com a comunidade previewDescription=Experimenta as novas funcionalidades durante algumas semanas após o lançamento. -tryPreview=Ativar a pré-visualização do XPipe +tryPreview=Ativar pré-visualização previewItem1=Acesso total às novas funcionalidades profissionais durante 2 semanas após o lançamento previewItem2=Experimenta novas funcionalidades sem qualquer compromisso licensedTo=Licenciado para @@ -35,3 +35,5 @@ inactive=Inativo upgradeInfo=Podes encontrar informações sobre a atualização para uma licença profissional abaixo. upgradeInfoPreview=Podes encontrar informações sobre a atualização para uma licença profissional abaixo ou experimentar a nova pré-visualização profissional. enterLicenseKey=Introduzir a chave de licença para atualizar +isOnlySupported=só é suportado com, pelo menos, uma licença $TYPE$ +areOnlySupported=só são suportados com, pelo menos, uma licença $TYPE$ diff --git a/lang/uacc/strings/translations_ru.properties b/lang/uacc/strings/translations_ru.properties index d7f4bf5d..03c75b82 100644 --- a/lang/uacc/strings/translations_ru.properties +++ b/lang/uacc/strings/translations_ru.properties @@ -18,7 +18,7 @@ type=Тип licenseAlertTitle=Коммерческое использование useCommunity=Продолжайте общаться previewDescription=Опробуй новые возможности в течение пары недель после релиза. -tryPreview=Активировать предварительный просмотр XPipe +tryPreview=Активировать предварительный просмотр previewItem1=Полный доступ к новым профессиональным функциям в течение 2 недель после релиза previewItem2=Опробуй новые возможности без каких-либо обязательств licensedTo=Лицензия на @@ -35,3 +35,5 @@ inactive=Неактивный upgradeInfo=Информацию о переходе на профессиональную лицензию ты найдешь ниже. upgradeInfoPreview=Ниже ты можешь найти информацию о переходе на профессиональную лицензию или попробовать новую предварительную версию Pro. enterLicenseKey=Введите лицензионный ключ для обновления +isOnlySupported=поддерживается только при наличии лицензии $TYPE$ +areOnlySupported=поддерживаются только при наличии лицензии $TYPE$ diff --git a/lang/uacc/strings/translations_tr.properties b/lang/uacc/strings/translations_tr.properties index fd6e75cf..6c800aea 100644 --- a/lang/uacc/strings/translations_tr.properties +++ b/lang/uacc/strings/translations_tr.properties @@ -18,7 +18,7 @@ type=Tip licenseAlertTitle=Ticari kullanım useCommunity=Topluluk ile devam edin previewDescription=Yayınlandıktan sonra birkaç hafta boyunca yeni özellikleri deneyin. -tryPreview=XPipe önizlemesini etkinleştirme +tryPreview=Önizlemeyi etkinleştir previewItem1=Piyasaya sürüldükten sonra 2 hafta boyunca yeni çıkan profesyonel özelliklere tam erişim previewItem2=Herhangi bir taahhütte bulunmadan yeni özellikleri deneyin licensedTo=Lisanslı @@ -35,3 +35,5 @@ inactive=Aktif değil upgradeInfo=Profesyonel lisansa yükseltme ile ilgili bilgileri aşağıda bulabilirsiniz. upgradeInfoPreview=Aşağıda profesyonel lisansa yükseltme hakkında bilgi bulabilir veya yeni pro önizlemeyi deneyebilirsiniz. enterLicenseKey=Yükseltmek için lisans anahtarını girin +isOnlySupported=yalnızca en az $TYPE$ lisansı ile desteklenir +areOnlySupported=yalnızca en az bir $TYPE$ lisansı ile desteklenir diff --git a/lang/uacc/strings/translations_zh.properties b/lang/uacc/strings/translations_zh.properties index 500b5888..8c13b6e8 100644 --- a/lang/uacc/strings/translations_zh.properties +++ b/lang/uacc/strings/translations_zh.properties @@ -18,7 +18,7 @@ type=类型 licenseAlertTitle=商业用途 useCommunity=继续社区 previewDescription=新功能发布后试用几周。 -tryPreview=激活 XPipe 预览 +tryPreview=激活预览 previewItem1=新发布的专业功能发布后两周内可完全访问 previewItem2=无需任何承诺即可试用新功能 licensedTo=授权给 @@ -35,3 +35,5 @@ inactive=不活动 upgradeInfo=您可以在下面找到有关升级到专业许可证的信息。 upgradeInfoPreview=您可以在下面找到有关升级到专业许可证的信息,或试用新的专业预览版。 enterLicenseKey=输入许可证密钥进行升级 +isOnlySupported=至少要有$TYPE$ 许可证才支持 +areOnlySupported=至少需要$TYPE$ 许可证才能支持