diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java index a5d8bee8b9..fc97d20b67 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java @@ -289,16 +289,37 @@ private void initDetailsPane() { VBox vbox = new VBox(8); if (!Accounts.OAUTH_CALLBACK.getClientId().isEmpty()) { HintPane hintPane = new HintPane(MessageDialogPane.MessageType.INFO); + FlowPane box = new FlowPane(); + box.setHgap(8); + JFXHyperlink birthLink = new JFXHyperlink(i18n("account.methods.microsoft.birth")); + birthLink.setExternalLink("https://support.microsoft.com/account-billing/837badbc-999e-54d2-2617-d19206b9540a"); + JFXHyperlink purchaseLink = new JFXHyperlink(i18n("account.methods.microsoft.purchase")); + purchaseLink.setExternalLink(YggdrasilService.PURCHASE_URL); + JFXHyperlink deauthorizeLink = new JFXHyperlink(i18n("account.methods.microsoft.deauthorize")); + deauthorizeLink.setExternalLink("https://account.live.com/consent/Manage"); + JFXHyperlink forgotpasswordLink = new JFXHyperlink(i18n("account.methods.forgot_password")); + forgotpasswordLink.setExternalLink("https://account.live.com/ResetPassword.aspx"); + JFXHyperlink loginwithpasswordLink = new JFXHyperlink(i18n("account.methods.login_with_password")); + loginwithpasswordLink.setExternalLink("https://docs.hmcl.net/launcher/use-password-login-microsoft-account.html"); + JFXHyperlink createProfileLink = new JFXHyperlink(i18n("account.methods.microsoft.makegameidsettings")); + createProfileLink.setExternalLink("https://www.minecraft.net/msaprofile/mygames/editprofile"); + box.getChildren().setAll(birthLink, purchaseLink, deauthorizeLink, forgotpasswordLink, loginwithpasswordLink, createProfileLink); + GridPane.setColumnSpan(box, 2); + FXUtils.onChangeAndOperate(deviceCode, deviceCode -> { if (deviceCode != null) { FXUtils.copyText(deviceCode.getUserCode()); hintPane.setSegment(i18n("account.methods.microsoft.manual", deviceCode.getUserCode(), deviceCode.getVerificationUri())); + JFXHyperlink qrCodeLoginLink = new JFXHyperlink(i18n("account.methods.qrcodelogin")); + qrCodeLoginLink.setExternalLink("https://docs.hmcl.net/qr-login.html?verificationUri=" + deviceCode.getVerificationUri() + "&userCode=" + deviceCode.getUserCode()); + box.getChildren().setAll(purchaseLink, birthLink, deauthorizeLink, loginwithpasswordLink, createProfileLink, qrCodeLoginLink); } else { hintPane.setSegment(i18n("account.methods.microsoft.hint")); } }); FXUtils.onClicked(hintPane, () -> { if (deviceCode.get() != null) { + FXUtils.openLink(deviceCode.get().getVerificationUri()); FXUtils.copyText(deviceCode.get().getUserCode()); } }); @@ -306,22 +327,6 @@ private void initDetailsPane() { holder.add(Accounts.OAUTH_CALLBACK.onGrantDeviceCode.registerWeak(value -> { runInFX(() -> deviceCode.set(value)); })); - FlowPane box = new FlowPane(); - box.setHgap(8); - JFXHyperlink birthLink = new JFXHyperlink(i18n("account.methods.microsoft.birth")); - birthLink.setExternalLink("https://support.microsoft.com/account-billing/837badbc-999e-54d2-2617-d19206b9540a"); - JFXHyperlink profileLink = new JFXHyperlink(i18n("account.methods.microsoft.profile")); - profileLink.setExternalLink("https://account.live.com/editprof.aspx"); - JFXHyperlink purchaseLink = new JFXHyperlink(i18n("account.methods.microsoft.purchase")); - purchaseLink.setExternalLink(YggdrasilService.PURCHASE_URL); - JFXHyperlink deauthorizeLink = new JFXHyperlink(i18n("account.methods.microsoft.deauthorize")); - deauthorizeLink.setExternalLink("https://account.live.com/consent/Edit?client_id=000000004C794E0A"); - JFXHyperlink forgotpasswordLink = new JFXHyperlink(i18n("account.methods.forgot_password")); - forgotpasswordLink.setExternalLink("https://account.live.com/ResetPassword.aspx"); - JFXHyperlink createProfileLink = new JFXHyperlink(i18n("account.methods.microsoft.makegameidsettings")); - createProfileLink.setExternalLink("https://www.minecraft.net/msaprofile/mygames/editprofile"); - box.getChildren().setAll(profileLink, birthLink, purchaseLink, deauthorizeLink, forgotpasswordLink, createProfileLink); - GridPane.setColumnSpan(box, 2); if (!IntegrityChecker.isOfficial()) { HintPane unofficialHint = new HintPane(MessageDialogPane.MessageType.WARNING); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/OAuthAccountLoginDialog.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/OAuthAccountLoginDialog.java index 36780c3d47..a29d596beb 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/OAuthAccountLoginDialog.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/OAuthAccountLoginDialog.java @@ -1,10 +1,11 @@ package org.jackhuang.hmcl.ui.account; +import java.util.function.Consumer; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.scene.control.Label; +import javafx.scene.layout.FlowPane; import javafx.scene.layout.GridPane; -import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import org.jackhuang.hmcl.auth.AuthInfo; import org.jackhuang.hmcl.auth.OAuthAccount; @@ -19,8 +20,8 @@ import org.jackhuang.hmcl.ui.construct.HintPane; import org.jackhuang.hmcl.ui.construct.JFXHyperlink; import org.jackhuang.hmcl.ui.construct.MessageDialogPane; +import org.jackhuang.hmcl.upgrade.IntegrityChecker; -import java.util.function.Consumer; import static org.jackhuang.hmcl.util.logging.Logger.LOG; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; @@ -44,37 +45,52 @@ public OAuthAccountLoginDialog(OAuthAccount account, Consumer success, Label usernameLabel = new Label(account.getUsername()); HintPane hintPane = new HintPane(MessageDialogPane.MessageType.INFO); + FlowPane box = new FlowPane(); + box.setHgap(8); + JFXHyperlink birthLink = new JFXHyperlink(i18n("account.methods.microsoft.birth")); + birthLink.setExternalLink("https://support.microsoft.com/account-billing/837badbc-999e-54d2-2617-d19206b9540a"); + JFXHyperlink purchaseLink = new JFXHyperlink(i18n("account.methods.microsoft.purchase")); + purchaseLink.setExternalLink(YggdrasilService.PURCHASE_URL); + JFXHyperlink deauthorizeLink = new JFXHyperlink(i18n("account.methods.microsoft.deauthorize")); + deauthorizeLink.setExternalLink("https://account.live.com/consent/Manage"); + JFXHyperlink forgotpasswordLink = new JFXHyperlink(i18n("account.methods.forgot_password")); + forgotpasswordLink.setExternalLink("https://account.live.com/ResetPassword.aspx"); + JFXHyperlink loginwithpasswordLink = new JFXHyperlink(i18n("account.methods.login_with_password")); + loginwithpasswordLink.setExternalLink("https://docs.hmcl.net/launcher/use-password-login-microsoft-account.html"); + JFXHyperlink createProfileLink = new JFXHyperlink(i18n("account.methods.microsoft.makegameidsettings")); + createProfileLink.setExternalLink("https://www.minecraft.net/msaprofile/mygames/editprofile"); + box.getChildren().setAll(birthLink, purchaseLink, deauthorizeLink, forgotpasswordLink, loginwithpasswordLink, createProfileLink); + GridPane.setColumnSpan(box, 2); + FXUtils.onChangeAndOperate(deviceCode, deviceCode -> { if (deviceCode != null) { FXUtils.copyText(deviceCode.getUserCode()); - hintPane.setSegment( - "" + i18n("account.login.refresh.microsoft.hint") + "\n" - + i18n("account.methods.microsoft.manual", deviceCode.getUserCode(), deviceCode.getVerificationUri()) - ); + hintPane.setSegment(i18n("account.methods.microsoft.manual", deviceCode.getUserCode(), deviceCode.getVerificationUri())); + JFXHyperlink qrCodeLoginLink = new JFXHyperlink(i18n("account.methods.qrcodelogin")); + qrCodeLoginLink.setExternalLink("https://docs.hmcl.net/qr-login.html?verificationUri=" + deviceCode.getVerificationUri() + "&userCode=" + deviceCode.getUserCode()); + box.getChildren().setAll(purchaseLink, birthLink, deauthorizeLink, loginwithpasswordLink, createProfileLink, qrCodeLoginLink); + if (!IntegrityChecker.isOfficial()) + box.getChildren().remove(deauthorizeLink); } else { - hintPane.setSegment( - "" + i18n("account.login.refresh.microsoft.hint") + "\n" - + i18n("account.methods.microsoft.hint") - ); + hintPane.setSegment(i18n("account.methods.microsoft.hint")); } }); FXUtils.onClicked(hintPane, () -> { if (deviceCode.get() != null) { + FXUtils.openLink(deviceCode.get().getVerificationUri()); FXUtils.copyText(deviceCode.get().getUserCode()); } }); - HBox box = new HBox(8); - JFXHyperlink birthLink = new JFXHyperlink(i18n("account.methods.microsoft.birth")); - birthLink.setOnAction(e -> FXUtils.openLink("https://support.microsoft.com/account-billing/how-to-change-a-birth-date-on-a-microsoft-account-837badbc-999e-54d2-2617-d19206b9540a")); - JFXHyperlink profileLink = new JFXHyperlink(i18n("account.methods.microsoft.profile")); - profileLink.setOnAction(e -> FXUtils.openLink("https://account.live.com/editprof.aspx")); - JFXHyperlink purchaseLink = new JFXHyperlink(i18n("account.methods.microsoft.purchase")); - purchaseLink.setOnAction(e -> FXUtils.openLink(YggdrasilService.PURCHASE_URL)); - box.getChildren().setAll(profileLink, birthLink, purchaseLink); - GridPane.setColumnSpan(box, 2); + if (!IntegrityChecker.isOfficial()) { + HintPane unofficialHint = new HintPane(MessageDialogPane.MessageType.WARNING); + unofficialHint.setText(i18n("unofficial.hint")); + vbox.getChildren().add(unofficialHint); + } + + vbox.getChildren().addAll(hintPane, box); - vbox.getChildren().setAll(usernameLabel, hintPane, box); + vbox.getChildren().addAll(usernameLabel); setBody(vbox); holder.add(Accounts.OAUTH_CALLBACK.onGrantDeviceCode.registerWeak(this::onGrantDeviceCode)); diff --git a/HMCL/src/main/resources/assets/lang/I18N.properties b/HMCL/src/main/resources/assets/lang/I18N.properties index 37cbc4e40a..0c5714025a 100644 --- a/HMCL/src/main/resources/assets/lang/I18N.properties +++ b/HMCL/src/main/resources/assets/lang/I18N.properties @@ -106,16 +106,10 @@ account.methods.microsoft.error.country_unavailable=Xbox Live is not available i account.methods.microsoft.error.missing_xbox_account=Your Microsoft account does not have a linked Xbox account yet. Please click "Create Profile / Edit Profile Name" to create one before continuing. account.methods.microsoft.error.no_character=Please ensure you have purchased Minecraft: Java Edition.\nIf you have already purchased the game, a profile may not have been created yet.\nClick "Create Profile / Edit Profile Name" to create it. account.methods.microsoft.error.unknown=Failed to log in, error code: %d. -account.methods.microsoft.error.wrong_verify_method=Please log in using your password on the Microsoft account login page, and do not use a verification code to log in. +account.methods.microsoft.error.wrong_verify_method=Please log in using your password on the Microsoft account login page, and do not use a verification code to log in. See "Login with password". account.methods.microsoft.logging_in=Logging in... -account.methods.microsoft.hint=Please click "Log in" and copy the code displayed here to complete the login process in the browser window that opens.\n\ - \n\ - If the token used to log in to the Microsoft account is leaked, you can click "Deauthorize" to deauthorize it. -account.methods.microsoft.manual=Your device code is %1$s. Please click here to copy.\n\ - \n\ - After clicking "Log in", you should complete the login process in the opened browser window. If that does not show up, you can navigate to %2$s manually.\n\ - \n\ - If the token used to log in to the Microsoft account is leaked, you can click "Deauthorize" to deauthorize it. +account.methods.microsoft.hint=Click "Login" to get started. +account.methods.microsoft.manual=[Click here] or scan the QR code to open %2$s, then paste or enter the %1$s code to log in. account.methods.microsoft.makegameidsettings=Create Profile / Edit Profile Name account.methods.microsoft.profile=Account Profile account.methods.microsoft.purchase=Buy Minecraft @@ -135,6 +129,8 @@ account.methods.offline.uuid.hint=UUID is a unique identifier for Minecraft play This option is for advanced users only. We do not recommend changing this option unless you know what you are doing. account.methods.offline.uuid.malformed=Invalid format. account.methods.forgot_password=Forgot Password +account.methods.login_with_password=Login with password +account.methods.qrcodelogin=Scan QR code to log in account.missing=No Accounts account.missing.add=Click here to add one. account.move_to_global=Convert to Global Account\nThe account information will be saved in a config file of the current user directory of the system. diff --git a/HMCL/src/main/resources/assets/lang/I18N_es.properties b/HMCL/src/main/resources/assets/lang/I18N_es.properties index 6dd5db0cf0..e2be912921 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_es.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_es.properties @@ -109,14 +109,8 @@ account.methods.microsoft.error.no_character=Por favor, asegúrese de que ha com account.methods.microsoft.error.unknown=No se ha podido iniciar sesión, error: %d. account.methods.microsoft.error.wrong_verify_method=Inicie sesión con su contraseña en la página de inicio de sesión de la cuenta Microsoft y no utilice un código de verificación para iniciar sesión. account.methods.microsoft.logging_in=Iniciando sesión... -account.methods.microsoft.hint=Por favor, haga clic en "Iniciar sesión" y copie el código que aparece aquí para completar el proceso de inicio de sesión en la ventana del navegador que se abre.\n\ - \n\ - Si el token utilizado para iniciar sesión en la cuenta de Microsoft se ha filtrado, puedes hacer clic en "Desautorizar" para desautorizarlo. -account.methods.microsoft.manual=El código de su dispositivo es %1$s. Por favor, haga clic aquí para copiarlo.\n\ - \n\ - Después de hacer clic en "Iniciar sesión", debe completar el proceso de inicio de sesión en la ventana abierta del navegador. Si no se muestra, puede navegar a %2$s manualmente.\n\ - \n\ - Si el token utilizado para iniciar sesión en la cuenta de Microsoft se ha filtrado, puedes hacer clic en "Desautorizar" para desautorizarlo. +account.methods.microsoft.hint=Haga clic en el botón "Iniciar sesión" para comenzar. +account.methods.microsoft.manual=[Haga clic aquí] para abrir %2$s o escanee el código QR, luego pegue o ingrese el código %1$s para iniciar sesión. account.methods.microsoft.profile=Perfil de la cuenta account.methods.microsoft.purchase=Comprar Minecraft account.methods.microsoft.snapshot=Está utilizando una versión no oficial de HMCL. Por favor, descargue la versión oficial para iniciar sesión. @@ -135,6 +129,7 @@ account.methods.offline.uuid.hint=UUID es un identificador único para los jugad Esta opción es sólo para usuarios avanzados. No recomendamos editar esta opción a menos que sepas lo que estás haciendo. account.methods.offline.uuid.malformed=Formato no válido. account.methods.forgot_password=Olvidé mi contraseña +account.methods.qrcodelogin=Escanear el código QR para iniciar sesión account.missing=No hay cuentas account.missing.add=Haga clic aquí para añadir una. account.move_to_global=Convertir en cuenta global\nLa información de la cuenta se guardará en un archivo de configuración del directorio de usuario actual del sistema. diff --git a/HMCL/src/main/resources/assets/lang/I18N_ja.properties b/HMCL/src/main/resources/assets/lang/I18N_ja.properties index 170d0c691f..97770c9690 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_ja.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_ja.properties @@ -99,8 +99,8 @@ account.methods.microsoft.error.unknown=ログインに失敗しました。Micr account.methods.microsoft.logging_in=ログイン... account.methods.forgot_password=パスワードをお忘れの方 account.methods.microsoft.makegameidsettings=プロファイルを作成/プロフィール名を編集する -account.methods.microsoft.hint=「ログイン」ボタンをクリックして、新しく開いたブラウザウィンドウでログインプロセスを続行する必要があります。\nMicrosoftアカウントへのログインに使用されたトークンが誤って漏洩した場合は、下の[アカウントのバインドを解除]をクリックして、ログイン認証をキャンセルできます。\n問題が発生した場合は、右上隅にあるヘルプ ボタンをクリックするとヘルプが表示されます。 -account.methods.microsoft.manual=「ログイン」ボタンをクリックした後、新しく開いたブラウザウィンドウで認証を完了する必要があります。ブラウザウィンドウが表示されない場合は、ここをクリックしてURLをコピーし、ブラウザで手動で開くことができます。\nMicrosoftアカウントへのログインに使用されたトークンが誤って漏洩した場合は、下の[アカウントのバインドを解除]をクリックして、ログイン認証をキャンセルできます。\n問題が発生した場合は、右上隅にあるヘルプ ボタンをクリックするとヘルプが表示されます。 +account.methods.microsoft.hint=「ログイン」ボタンをクリックして開始します。 +account.methods.microsoft.manual=[ここをクリック]して %2$s を開くか、QRコードをスキャンして、%1$s コードを直接貼り付けるか入力してログインします。 account.methods.microsoft.profile=アカウントプロファイル.. account.methods.microsoft.purchase=Minecraftを購入する account.methods.microsoft.snapshot=非公式構築 HMCL を使用しているので、公式構築をダウンロードしてマイクロソフトにログインしてください。 @@ -108,6 +108,7 @@ account.methods.offline=オフライン account.methods.offline.uuid=UUID account.methods.offline.uuid.hint=UUIDは、Minecraftのゲームキャラクターの一意の識別子です。UUIDの生成方法は、ゲームランチャーによって異なります。UUIDを他のランチャーによって生成されたものに変更すると、オフラインアカウントのバックパック内のゲームブロック/アイテムが残ることが約束されます。このオプションは専門家向けです。何をしているのかわからない限り、このオプションを変更することはお勧めしません。\nこのオプションはサーバーに参加する場合には必要ありません。 account.methods.offline.uuid.malformed=Malformed +account.methods.qrcodelogin=QRコードをスキャンしてログイン account.missing=アカウントなし account.missing.add=追加するにはここをクリック account.not_logged_in=ログインしていません diff --git a/HMCL/src/main/resources/assets/lang/I18N_ru.properties b/HMCL/src/main/resources/assets/lang/I18N_ru.properties index 15f88033d9..80d43131a1 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_ru.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_ru.properties @@ -104,8 +104,9 @@ account.methods.microsoft.error.no_character=На аккаунте отсутс account.methods.microsoft.error.unknown=Не удалось войти. Microsoft отвечает с кодом ошибки %d. account.methods.microsoft.logging_in=Авторизация... account.methods.microsoft.makegameidsettings=Создать архив / изменение имени профиля -account.methods.microsoft.hint=Вам необходимо нажать кнопку «Войти» и продолжить процесс авторизации во вновь открывшемся окне браузера.\nЕсли токен, используемый для входа в аккаунт Microsoft случайно утёк, вы можете нажать «Отменить авторизацию аккаунта» ниже, чтобы отменить авторизацию.\nЕсли у вас возникнут какие-либо проблемы, вы можете нажать кнопку справки в правом верхнем углу для получения помощи. -account.methods.microsoft.manual=После нажатия кнопки «Войти», вы должны завершить авторизацию во вновь открывшемся окне браузера. Если окно браузера не открылось, вы можете щёлкнуть здесь, чтобы скопировать ссылку и вручную открыть её в браузере.\nЕсли токен, используемый для входа в аккаунт Microsoft случайно утёк, вы можете нажать «Отменить авторизацию аккаунта» ниже, чтобы отменить авторизацию.\n問題が発生した場合は、右上隅にあるヘルプ ボタンをクリックするとヘルプが表示されます。 +account.methods.microsoft.hint=Нажмите кнопку «Войти», чтобы начать. +account.methods.microsoft.manual=[Нажмите здесь], чтобы открыть %2$s или отсканируйте QR-код, затем вставьте или введите код %1$s для входа. +account.methods.qrcodelogin=Сканировать QR-код для входа account.methods.microsoft.profile=Профиль аккаунта... account.methods.microsoft.purchase=Купить Minecraft account.methods.forgot_password=ЗАБЫЛ ПАРОЛЬ diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh.properties b/HMCL/src/main/resources/assets/lang/I18N_zh.properties index f6bcc77c28..71b9c43b14 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh.properties @@ -107,21 +107,11 @@ account.methods.microsoft.error.country_unavailable=你所在的國家或地區 account.methods.microsoft.error.missing_xbox_account=你的 Microsoft 帳戶尚未關聯 Xbox 帳戶,你必須先建立 Xbox 帳戶,才能登入遊戲。 account.methods.microsoft.error.no_character=該帳戶未包含 Minecraft: Java 版購買記錄。\n若已購買,則可能未建立遊戲檔案,請點擊上方連結建立。 account.methods.microsoft.error.unknown=登入失敗,錯誤碼:%d -account.methods.microsoft.error.wrong_verify_method=請在 Microsoft 帳戶登入頁面使用密碼登入,不要使用驗證碼登入。 +account.methods.microsoft.error.wrong_verify_method=請在 Microsoft 帳戶登入頁面使用密碼登入,不要使用驗證碼登入。詳情請查看“使用密碼登入”。 account.methods.microsoft.logging_in=登入中…… account.methods.microsoft.makegameidsettings=建立檔案 / 編輯檔案名稱 -account.methods.microsoft.hint=請點擊「登入」按鈕,稍後複製此處顯示的代碼,在打開的登入網頁中完成登入過程。\n\ - \n\ - 如果登入 Microsoft 帳戶的令牌洩露,可點擊下方「移除應用存取權」,然後等待令牌過期。\n\ - \n\ - 如遇到問題,你可以點擊右上角幫助按鈕進行求助。 -account.methods.microsoft.manual=你的代碼為 %1$s,請點擊此處複製。\n\ - \n\ - 點擊「登入」按鈕後,你應該在打開的登入網頁中完成登入過程。如果網頁沒有打開,你可以自行在瀏覽器中訪問 %2$s\n\ - \n\ - 如果登入 Microsoft 帳戶的令牌洩露,可點擊下方「移除應用存取權」,然後等待令牌過期。\n\ - \n\ - 如遇到問題,你可以點擊右上角幫助按鈕進行求助。 +account.methods.microsoft.hint=點擊「登入」按鈕開始。 +account.methods.microsoft.manual=[點擊此處] 或掃描二維碼打開 %2$s,然後直接貼上或輸入 %1$s 代碼進行登入。 account.methods.microsoft.profile=編輯帳戶配置檔 account.methods.microsoft.purchase=購買 Minecraft account.methods.forgot_password=忘記密碼 @@ -136,6 +126,8 @@ account.methods.offline.name.invalid=遊戲使用者名稱通常僅允許使用 account.methods.offline.uuid=UUID account.methods.offline.uuid.hint=UUID 是 Minecraft 玩家的唯一標識符,每個啟動器生成 UUID 的方式可能不同。\n透過修改 UUID 選項至原啟動器所生成的 UUID,你可以保證在切換啟動器後,遊戲還能將你的遊戲角色識別為給定 UUID 所對應的角色,從而保留原來角色的背包物品。\nUUID 選項為進階選項,除非你知道你在做什麼,否則你不需要調整該選項。 account.methods.offline.uuid.malformed=格式錯誤 +account.methods.login_with_password=使用密碼登入 +account.methods.qrcodelogin=掃描二維碼登入 account.missing=沒有遊戲帳戶 account.missing.add=按一下此處加入帳戶 account.move_to_global=轉換為全域帳戶\n該帳戶的資訊會儲存至系統目前使用者目錄的配置檔案中 diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties index e516c160d9..6bfed9ecde 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties @@ -108,31 +108,16 @@ account.methods.microsoft.error.country_unavailable=你所在的国家或地区 account.methods.microsoft.error.missing_xbox_account=请点击上方“创建档案”关联 Xbox 账户。\n你可以点击右上角帮助按钮进行求助。 account.methods.microsoft.error.no_character=请确认你已经购买了 Minecraft: Java 版。\n若已购买,则可能未创建游戏档案,请点击上方“创建档案”以创建游戏档案。\n你可以点击右上角帮助按钮进行求助。 account.methods.microsoft.error.unknown=未知问题。错误码:%d。\n你可以点击右上角帮助按钮进行求助。 -account.methods.microsoft.error.wrong_verify_method=请在微软账户登录页面使用密码登录,不要使用验证码登录。\n你可以点击右上角帮助按钮进行求助。 +account.methods.microsoft.error.wrong_verify_method=请在微软账户登录页面使用密码登录,不要使用验证码登录。详情请查看“使用密码登录”。\n你可以点击右上角帮助按钮进行求助。 account.methods.microsoft.logging_in=登录中…… account.methods.microsoft.makegameidsettings=创建档案 / 编辑档案名称 -account.methods.microsoft.hint=你需要按照以下步骤添加账户:\n\ - \ 1. 点击“登录”按钮;\n\ - \ 2. 在弹出的网页中输入 HMCL 显示的代码,并点击“允许访问”;\n\ - \ 3. 按照网站的提示登录;\n\ - \ 4. 当网站提示“是否允许此应用访问你的信息?”时,请点击“接受”;\n\ - \ 5. 在网站提示“大功告成”后,等待账户完成添加即可。\n\ - 若网站提示“出现错误”或账户添加失败时,请按照以上步骤重新添加。\n\ - 若设备网络环境不佳,可能会导致网页加载缓慢甚至无法加载,请使用网络代理并重试。\n\ - 如遇到问题,你可以点击右上角帮助按钮进行求助。 -account.methods.microsoft.manual=你需要按照以下步骤添加:\n\ - \ 1. 点击“登录”按钮;\n\ - \ 2. 在弹出的网页中输入 %1$s (已自动复制),并点击“允许访问”;\n\ - \ 3. 按照网站的提示登录;\n\ - \ 4. 当网站提示“是否允许此应用访问你的信息?”时,请点击“接受”;\n\ - \ 5. 在网站提示“大功告成”后,等待账户完成添加即可。\n\ - 若网站未能显示,请手动在浏览器中打开:%2$s\n\ - 若网站提示“出现错误”或账户添加失败时,请按照以上步骤重新添加。\n\ - 若设备网络环境不佳,可能会导致网页加载缓慢甚至无法加载,请使用网络代理并重试。\n\ - 如遇到问题,你可以点击右上角帮助按钮进行求助。 +account.methods.microsoft.hint=点击“登录”按钮开始。\n如遇到问题,你可以点击右上角帮助按钮进行求助。 +account.methods.microsoft.manual=[点击此处] 或扫描二维码打开 %2$s,然后直接粘贴或输入 %1$s 代码进行登录。\n如遇到问题,你可以点击右上角帮助按钮进行求助。 account.methods.microsoft.profile=编辑账户个人信息 account.methods.microsoft.purchase=购买 Minecraft account.methods.forgot_password=忘记密码 +account.methods.login_with_password=使用密码登录 +account.methods.qrcodelogin=扫描二维码登录 account.methods.microsoft.snapshot=你正在使用第三方提供的 HMCL,请下载官方版本来登录微软账户。 account.methods.microsoft.snapshot.website=官方网站 account.methods.offline=离线模式