Commit 73d8d5d1 authored by gaorui's avatar gaorui
Browse files

Merge branch 'feat-online-update' into 'main'

Feat online update

See merge request !7
parents daae28ad 1c901aee
......@@ -48,23 +48,23 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//hoolai-core(必接)
implementation 'com.hoolai.access.open:hoolai-core:1.0.3.36-global'
implementation 'com.hoolai.access.open:hoolai-core:1.0.4.0-global'
//access-native(必接)
implementation 'com.hoolai.access.platform:access-native:0.1.2.1424-global'
implementation 'com.hoolai.access.platform:access-native:0.1.2.1425-global'
//fangzhou(必接)
implementation 'com.hoolai.access.open.fangzhou:fangzhou:4.5.16.10'
//基础功能模块,登录/支付/分享等(必接)
implementation 'com.hoolai.oversea:hl-oversea-global:1.0.4.0'
implementation 'com.hoolai.oversea:hl-oversea-global:1.0.5.0'
//aihelp(必接)
implementation 'com.hoolai.oversea.aihelp:aihelp:1.0.0.1'
//appsflyer(必接)
implementation 'com.hoolai.oversea.appsflyer:appsflyer:1.0.0.2'
//firebase(必接)
implementation 'com.hoolai.oversea.firebase:firebase:1.0.0.4'
implementation 'com.hoolai.oversea.firebase:firebase:1.0.1.0'
//facebooklinks(必接)
implementation 'com.hoolai.oversea.links:facebooklinks:1.0.1.0'
//openInstall(选接)
implementation 'com.hoolai.oversea.opins:openInstall:1.0.0.0'
//crashlytics(选接)注意需要其他特殊配置,请参照文档下方进行配置
implementation 'com.hoolai.oversea.crash:crashlytics:1.0.0.0'
//crashlytics(废弃⚠️)注意crash已经合入到 firebase 插件中了,此处不需要单独引入了!!!
//implementation 'com.hoolai.oversea.crash:crashlytics:1.0.0.0'
}
\ No newline at end of file
[default,zh-Hans]
NETWORK_ERROR = 网络异常
ERROR = core 内通用非ok码
DATA_ILLEGAL = 数据非法
SANDBOX_OR_RESOURCE_EMPTY = 沙盒或资源目录为空
INIT_CFG_ERROR = 初始化配置文件异常
INIT_ACCOUNT_ERROR = 初始化账号列表异常
INIT_PAYMENT_ERROR = 初始化支付系统异常
NOT_START_SYSTEM = 没有启动系统
ALREADY_INIT_SYSTEM = 系统已经初始化
PARSE_RESPONSE_ERROR = 解析响应错误
PARSE_INIT_INFO_ERROR = 解析初始化数据错误
PARSE_LOGIN_INFO_ERROR = 解析登陆信息异常
USERNAME_OR_PASSWORD_EMPTY = 用户名或密码为空
ACCOUNT_ID_OR_CODE_EMPTY = 账户ID或账户码为空
ACCOUNT_ALREADY_BIND_CHANNEL = 账号已经绑定当前渠道
PHONE_OR_CODE_EMPTY = 手机号或验证码为空
PHONE_NUMBER_EMPTY = 手机号码为空
PHONE_FORMAT_ERROR = 手机号码格式错误
QUICK_AUTH_TOKEN_EMPTY = 快速登陆授权Token为空
NOT_SURE_ALL_INTERACTIVE = 未确认所有的对话框交互
NOT_EXIST_SERVICE_DIALOG = 不存在业务对话框
ALREADY_LOGIN = 已经登陆
LOGIN_FAILED = 登录失败
REMOVE_ACCOUNT_ERROR = 删除账号失败
PAYMENT_ERROR = 支付异常
CREATE_LOCAL_ORDER_ERROR = 创建本地订单异常
EXIST_LOCAL_ORDER = 存在本地未完成订单
REMOVE_LOCAL_ORDER_ERROR = 移除本地订单异常
NOT_IN_INIT = 当前不在初始化状态
NOT_IN_LOGIN = 当前不在登陆状态
INIT_SYSTEM_ERROR = 初始化系统异常
INIT_PREFERENCES_ERROR = 初始化用户偏好设置异常
EXIST_VIEW_NOT_CLOSE = 存在未被关闭的view
CURRENT_VIEW_NOT_OPENED = 当前view未被打开
FETCH_DESC_FAILED = 抓取异常描述失败
NOT_EXIST_CHILD_ACCOUNT = 当前小号不存在
NAME_OR_IDENTITY_EMPTY = 姓名或身份证为空
ACCOUNT_INFO_NOT_EXIST = 账号信息不存在
ORDER_INFO_NOT_EXIST = 订单信息不存在
CHANNEL_NOT_SUPPORT_LOGIN = 渠道登陆不支持
NOT_SUPPORT_OPERATOR = 当前操作不支持
PLEASE_RESTART_UPDATE = 更新已完成,请重启
LOCALIZATION_UPDATE_RESTART = 国际化文件已更新,重启生效
CONFIGRATION_UPDATE_RESTART = 配置文件已更新,重启生效
NOT_GENUINE_APP = 非正版应用,请下载正版应用
CANCEL_REAL_NAME = 取消实名认证
UNOFFICIAL_AUTHENTICATION = 非官方认证登录
UNKNOWN = 未知异常
enterGame = 进入游戏
policyPrivacy = 阅读并同意[隐私条款]及[用户协议]
otherLogin = 其它登录方式
realAuth = 实名认证
quickLogin = 快速登录
phoneQuickLogin=本机号码一键登录
pleaseInputPwd = 请输入密码
pleaseInputAccount = 请输入账号
getVerifyCode = 验证码
pleaseInputVerifyCode = 请输入验证码
pleaseInputPhone = 请输入手机号
tip = 提示
authorization = 认证
cancel = 取消
sure = 确定
pleaseInputIdentifyId = 请输入身份证号
pleaseInputName = 请输入姓名
realNameRules = 根据国家新闻出版署《关于防止未成年沉迷网络游戏的通知》,未实名账号不可体验游戏,请尽快完成实名登记
mainEnter = 主号进入
chileEnter = 小号进入
checkedPrivace = 请先勾选并同意相关政策条款再登录游戏
checkPermissionTip = 由于您已拒绝%权限,开启该功能需要打开“设置”>“权限管理”进行授权
realNameError = 您输入的姓名格式不正确
idCardError = 您输入的身份证格式不正确
phoneError = 手机号码格式不正确
vcodeError = 验证码格式不正确
pwdError = 密码格式不正确
getVcodeFailed = 获取验证码失败
bindAccount = 绑定账号
bindAccountTip = 当前渠道账号未绑定游客
guestAccountTip = 当前账号为游客账号,请尽快绑定三方账号,避免账号丢失
guestSwitchTip = 您当前为游客账号,切换账号将丢失当前游客账号的游戏进度
bindingAccountTip = 当前账号已绑定%s账号
accountId = 账号ID
accountCode = 账号码
bindAccountIdPlaceholder = 请输入账号恢复Id
bindAccountCodePlaceholder = 请输入账号恢复码
bindIdCodedescription = 当更换设备时可在切换账号页面中输入当前的恢复Id和恢复码,就可以使用原有账号角色数据继续游戏
unbindIdCodedescription = 如果账号未绑定任何三方账号,可输入账号恢复Id和恢复码用来切换账号
switchAccountTip = 当前登录的渠道账号已绑定其他游客账号,是否进行切换
switchAccount = 切换账号
switchAccountFailture = 切换账号失败
sameAccountTip = 当前账号已登录
loginSuccessTip = 用户%s,登录成功
orderValidate = 订单核验中...
startingPay = 开始购买
purchaseing = 购买中...
[en]
NETWORK_ERROR = Network exception
ERROR = General non-OK code within the core
DATA_ILLEGAL = Illegal data
SANDBOX_OR_RESOURCE_EMPTY = Sandbox or resource directory is empty
INIT_CFG_ERROR = Initialization configuration file exception
INIT_ACCOUNT_ERROR = Initialization account list exception
INIT_PAYMENT_ERROR = Initialization payment system exception
NOT_START_SYSTEM = System not started
ALREADY_INIT_SYSTEM = System already initialized
PARSE_RESPONSE_ERROR = Parse response error
PARSE_INIT_INFO_ERROR = Parse initialization data error
PARSE_LOGIN_INFO_ERROR = Parse login information exception
USERNAME_OR_PASSWORD_EMPTY = Username or password is empty
ACCOUNT_ID_OR_CODE_EMPTY = Account ID or account code is empty
ACCOUNT_ALREADY_BIND_CHANNEL = Account already bound to the current channel
PHONE_OR_CODE_EMPTY = Phone number or verification code is empty
PHONE_NUMBER_EMPTY = Phone number is empty
PHONE_FORMAT_ERROR = Phone number format is incorrect
QUICK_AUTH_TOKEN_EMPTY = Quick login authorization token is empty
NOT_SURE_ALL_INTERACTIVE = Not all dialog interactions are confirmed
NOT_EXIST_SERVICE_DIALOG = Service dialog does not exist
ALREADY_LOGIN = Already logged in
LOGIN_FAILED = Login failed
REMOVE_ACCOUNT_ERROR = Failed to remove account
PAYMENT_ERROR = Payment exception
CREATE_LOCAL_ORDER_ERROR = Exception occurred when creating a local order
EXIST_LOCAL_ORDER = Existing local incomplete order
REMOVE_LOCAL_ORDER_ERROR = Exception occurred when removing a local order
NOT_IN_INIT = Not in initialization state
NOT_IN_LOGIN = Not in login state
INIT_SYSTEM_ERROR = Initialization system exception
INIT_PREFERENCES_ERROR = Initialization user preference settings exception
EXIST_VIEW_NOT_CLOSE = Existing unclosed view
CURRENT_VIEW_NOT_OPENED = Current view not opened
FETCH_DESC_FAILED = Failed to fetch exception description
NOT_EXIST_CHILD_ACCOUNT = Current child account does not exist
NAME_OR_IDENTITY_EMPTY = Name or ID card is empty
ACCOUNT_INFO_NOT_EXIST = Account information does not exist
ORDER_INFO_NOT_EXIST = Order information does not exist
CHANNEL_NOT_SUPPORT_LOGIN = Channel login not supported
NOT_SUPPORT_OPERATOR = Current operation not supported
PLEASE_RESTART_UPDATE = Update completed, please restart
LOCALIZATION_UPDATE_RESTART = Localization files updated, restart required
CONFIGRATION_UPDATE_RESTART = Configuration files updated, restart required
NOT_GENUINE_APP = Non-genuine application, please download the official version
CANCEL_REAL_NAME = Cancel real-name authentication
UNOFFICIAL_AUTHENTICATION = Unofficial authentication login
UNKNOWN = Unknown exception
enterGame = Enter the game
policyPrivacy = Read and agree to [Privacy Policy] and [User Agreement]
otherLogin = Other login methods
realAuth = Real-name authentication
quickLogin = Quick login
phoneQuickLogin = Quick login with caller ID
pleaseInputPwd = Please enter the password
pleaseInputAccount = Please enter the account
getVerifyCode = Verification code
pleaseInputVerifyCode = Please enter the verification code
pleaseInputPhone = Please enter the phone number
tip = Tip
authorization = Authorization
cancel = Cancel
sure = Confirm
pleaseInputIdentifyId = Please enter the ID card number
pleaseInputName = Please enter the name
realNameRules = According to the requirements of the National Press and Publication Administration's "Notice on Preventing Minors from Being Addicted Online Games", unverified accounts cannot experience the game. Please complete real-name authentication as soon as possible.
mainEnter = Enter with main account
childEnter = Enter with child account
checkedPrivace = Please check and agree to the relevant policy terms before logging into the game
checkPermissionTip = As you have denied the % permission, enabling this feature requires opening "Settings" > "Permission Management" for authorization
realNameError = The name you entered is not in the correct format
idCardError = The ID card you entered is not in the correct format
phoneError = Incorrect phone number format
vcodeError = Incorrect verification code format
pwdError = Incorrect password format
getVcodeFailed = Failed to get verification code
bindAccount = Bind account
bindAccountTip = Current channel account is not bound to a guest account
guestAccountTip = Current account is a guest account, please bind to a third-party account as soon as possible in case of loss of account
guestSwitchTip = You are currently a guest account, Switching accounts will lose the game progress of the current guest account
bindingAccountTip = Current account is already bound to %s account
accountId = Account ID
accountCode = Account code
bindAccountIdPlaceholder = Please enter account recovery ID
bindAccountCodePlaceholder = Please enter account recovery code
bindIdCodedescription = When switching devices, you can input the current recovery ID and recovery code on the account switch page to continue using the original account character data
unbindIdCodedescription = If the account is not bound to any third-party account, you can enter the account recovery ID and recovery code to switch accounts
switchAccountTip = The current logged-in channel account is already bound to another guest account. Do you want to switch?
switchAccount = Switch account
switchAccountFailture = Failed to switch account
sameAccountTip = Current account is already logged in
loginSuccessTip = User %s logged in successfully
orderValidate = Order validation in progress...
startingPay = Start purchasing
purchaseing = Purchasing...
[es]
NETWORK_ERROR = Error de red
ERROR = Código no ok universal dentro del core
DATA_ILLEGAL = Datos inválido
SANDBOX_OR_RESOURCE_EMPTY = Entorno de pruebas o directorio de recursos vacío
INIT_CFG_ERROR = Error al inicializar archivo de configuración
INIT_ACCOUNT_ERROR = Error al inicializar lista de cuentas
INIT_PAYMENT_ERROR = Error al inicializar el sistema de pago
NOT_START_SYSTEM = Sistema no iniciado
ALREADY_INIT_SYSTEM = Sistema inicializado
PARSE_RESPONSE_ERROR = Error al analizar respuesta
PARSE_INIT_INFO_ERROR = Error al analizar datos de inicialización
PARSE_LOGIN_INFO_ERROR = Error al analizar información de inicio de sesión
USERNAME_OR_PASSWORD_EMPTY = Nombre d usuario o contraseña vacía
ACCOUNT_ID_OR_CODE_EMPTY = ID de cuenta o código de cuenta vacío
ACCOUNT_ALREADY_BIND_CHANNEL = Cuenta vinculada al canal actual
PHONE_OR_CODE_EMPTY = Número de teléfono móvil o código de verificación vacío
PHONE_NUMBER_EMPTY = Número de teléfono móvil vacío
PHONE_FORMAT_ERROR = Error de formato de teléfono móvil
QUICK_AUTH_TOKEN_EMPTY = Token d autorización de inicio de sesión rápido vacío
NOT_SURE_ALL_INTERACTIVE = Todas las interacciones del cuadro de diálogo no confirmadas
NOT_EXIST_SERVICE_DIALOG = No existe el cuadro de diálogo de negocios
ALREADY_LOGIN = Sesión iniciada
LOGIN_FAILED = Inicio de sesión fallida
REMOVE_ACCOUNT_ERROR = Error al eliminar cuenta
PAYMENT_ERROR = Error de pago
CREATE_LOCAL_ORDER_ERROR = Error al crear pedido local
EXIST_LOCAL_ORDER = Hay pedido local pendiente
CREATE_LOCAL_ORDER_ERROR = Error al retirar pedido local
NOT_IN_INIT = No en estado de inicialización
NOT_IN_LOGIN = No en estado de inicio de sesión
INIT_SYSTEM_ERROR = Error al inicializar el sistema
INIT_PREFERENCES_ERROR = Error al inicializar configuración de preferencias de usuario
EXIST_VIEW_NOT_CLOSE = Hay view no cerrado
CURRENT_VIEW_NOT_OPENED = view actual abierto
FETCH_DESC_FAILED = Error al capturar descripción de anomalía
USER_INFO_NOT_EXIST=La cuenta auxiliar actual no existe
NAME_OR_IDENTITY_EMPTY = Nombre o documento de identificación vacío
ACCOUNT_INFO_NOT_EXIST = La información de cuenta no existe
ORDER_INFO_NOT_EXIST = La información de pedido no existe
CHANNEL_NOT_SUPPORT_LOGIN = No admite inicio de sesión del canal actual
NOT_SUPPORT_OPERATOR = No admite la operación actual
PLEASE_RESTART_UPDATE = Actualización terminada, reinicie
LOCALIZATION_UPDATE_RESTART = Archivo internacional actualizado, reinicie para que surta efecto
CONFIGRATION_UPDATE_RESTART = Archivo de configuración actualizado, reinicie para que surta efecto
NOT_GENUINE_APP = Aplicación no genuina, descargue una genuina
CANCEL_REAL_NAME = Cancelar autentificación de nombre real
UNOFFICIAL_AUTHENTICATION = Inicio de sesión de autenticación no oficial
UNKNOWN = Error desconocido
enterGame = Entrar en el juego
policyPrivacy = Lea y acepte los [Términos de Privacidad] y [Acuerdo de Usuario]
otherLogin = Otros métodos de inicio de sesión
realAuth = Autentificación de nombre real
quickLogin = Inicio de sesión rápido
phoneQuickLogin=Iniciar sesión con un solo clic con el número del teléfono móvil
pleaseInputPwd = Ingrese la contraseña
pleaseInputAccount = Ingrese la cuenta
getVerifyCode = Código de verificación
pleaseInputVerifyCode = Ingrese el código de verificación
pleaseInputPhone = Ingrese el número de teléfono móvil
tip = Aviso
authorization = Autentificación
cancel = Cancelar
sure = Confirmar
pleaseInputIdentifyId = Ingrese el número de identificación
pleaseInputName = Ingrese el nombre
realNameRules = Conforme a los requisitos del "Aviso sobre la Prevención de la Adicción de Menores de Edad a los Juegos en Línea" de la Administración Nacional de Prensa y Publicaciones, no se puede experimentar el juego sin una cuenta de nombre real, complete el registro de nombre real lo antes posible.
mainEnter = Ingresar con cuenta principal
chileEnter = Ingresar con cuenta auxiliar
checkedPrivace = Marque y acepte los términos de la política pertinente antes de iniciar sesión en el juego.
checkPermissionTip = Como ha denegado el permiso%, debe habilitar esta función yendo a "Configuración" > "Gestión de permisos" para autorizar
realNameError = El formato del nombre ingrsado es incorrecto
idCardError = El formato del documento de identificación ingresado es incorrecto
phoneError = El formato del número de teléfono móvil es incorrecto
vcodeError = El formato del código de verificación es incorrecto
pwdError = El formato de la contraseña es incorrecto
getVcodeFailed = Error al obtener código de verificación
bindAccount = Vincular cuenta
bindAccountTip = La cuenta actual del canal no está vinculada a visitado
guestAccountTip = Es la cuenta de visitado, vincule la cuenta de un tercero lo antes posible para evitar la pérdida de la cuenta.
guestSwitchTip = Actualmente eres una cuenta de invitado, Al cambiar de cuenta, se perderá el progreso del juego de la cuenta de invitado actual.
bindAccountTip = La cuenta actual está vinculada a la cuenta %s
accountId = ID de cuenta
accountCode = Número de cuenta
bindAccountIdPlaceholder = Ingrese Id de recuperación de cuenta
bindAccountCodePlaceholder = Ingrese el código de recuperación de la cuenta
bindIdCodedescription = Al cambiar el dispositivo, puede introducir el Id de recuperación actual y el código de recuperación en la página de cambio de cuenta, y continuar el juego con los datos del personaje de la cuenta original.
unbindIdCodedescription = Si la cuenta no está vinculada a ninguna cuenta de tercero, puede introducir el ID de recuperación de la cuenta y el código de recuperación para cambiar la cuenta.
switchAccountTip = La cuenta del canal de inicio de sesión actual está vinculada a otra cuenta de visitado, ¿cambiar?
switchAccount = Cambiar cuenta
switchAccountFailture = Error al cambiar cuenta
sameAccountTip = La cuenta actual se ha iniciado sesión
loginSuccessTip = Usuario %s, inicio de sesión con éxito
orderValidate = Verificando pedido...
startingPay = Comprar
purchaseing = Comprando...
[fr]
NETWORK_ERROR = Anomalie réseau.
ERROR = code non-ok générique dans le core.
DATA_ILLEGAL = Données illégales.
SANDBOX_OR_RESOURCE_EMPTY = Le répertoire du bac à sable ou des ressources est vide
INIT_CFG_ERROR = Erreur de profil d'initialisation.
INIT_ACCOUNT_ERROR = Erreur d'initialisation de la liste des comptes
INIT_PAYMENT_ERROR = Erreur d'initialisation du système de paiement
NOT_START_SYSTEM = Le système n'a pas démarré
ALREADY_INIT_SYSTEM = Le système est déjà initialisé
PARSE_RESPONSE_ERROR = Erreur d'analyse de la réponse.
PARSE_INIT_INFO_ERROR = Erreur d'analyse des données d'initialisation.
PARSE_LOGIN_INFO_ERROR = Erreur d'analyse des informations de connexion.
USERNAME_OR_PASSWORD_EMPTY = Le nom d'utilisateur ou le mot de passe est vide.
ACCOUNT_ID_OR_CODE_EMPTY = ID de compte ou code de compte vide
ACCOUNT_ALREADY_BIND_CHANNEL = Le compte a été lié au canal actuel
PHONE_OR_CODE_EMPTY = Le numéro de téléphone mobile ou le code de vérification est vide.
PHONE_NUMBER_EMPTY = Le numéro de téléphone mobile est vide
PHONE_FORMAT_ERROR = Le format du numéro de téléphone mobile est incorrect.
QUICK_AUTH_TOKEN_EMPTY = Le token d'autorisation de connexion rapide est vide.
NOT_SURE_ALL_INTERACTIVE = Toutes les interactions de la boîte de dialogue ne sont pas confirmées.
NOT_EXIST_SERVICE_DIALOG = Aucun dialogue commercial n'existe.
ALREADY_LOGIN = Déjà connecté.
LOGIN_FAILED = Échec de la connexion.
REMOVE_ACCOUNT_ERROR = Échec de la suppression du compte.
PAYMENT_ERROR = Erreur de paiement
CREATE_LOCAL_ORDER_ERROR = Erreur de création d'une commande locale.
EXIST_LOCAL_ORDER = Il y a une commande locale non remplie.
REMOVE_LOCAL_ORDER_ERROR = Supprimer une erreur de commande locale.
NOT_IN_INIT = Actuellement pas dans l'état d'initialisation.
NOT_IN_LOGIN = Pas encore connecté.
INIT_SYSTEM_ERROR = Erreur du système d'initialisation.
INIT_PREFERENCES_ERROR = Erreur d'initialisation des préférences de l'utilisateur.
EXIST_VIEW_NOT_CLOSE = Un view n'a pas été fermé.
CURRENT_VIEW_NOT_OPENED = Le view actuel n'est pas ouvert.
FETCH_DESC_FAILED = Échec de la saisie de la description des erreurs.
NOT_EXIST_CHILD_ACCOUNT = Le compte enfant n'existe pas.
NAME_OR_IDENTITY_EMPTY = Le nom ou ID est vide.
ACCOUNT_INFO_NOT_EXIST = L'information sur le compte n'existe pas.
USER_INFO_NOT_EXIST = L'information sur la commande n'existe pas.
CHANNEL_NOT_SUPPORT_LOGIN = La connexion au canal est non supportée.
NOT_SUPPORT_OPERATOR = L'opération actuelle n'est pas supportée.
PLEASE_RESTART_UPDATE = La mise à jour est terminée, veuillez redémarrer.
LOCALIZATION_UPDATE_RESTART = Le fichier d'internationalisation a été mis à jour, veuillez redémarrer pour qu'il prenne effet.
CONFIGRATION_UPDATE_RESTART = Le fichier de configuration a été mis à jour, veuillez redémarrer pour qu'il prenne effet.
NOT_GENUINE_APP = Application non authentique, veuillez télécharger l'application authentique.
CANCEL_REAL_NAME = Annuler la vérification de l'identité.
UNOFFICIAL_AUTHENTICATION = Connexion d'authentification non officielle.
UNKNOWN = Erreur inconnue.
enterGame = Entrer dans le jeu.
policyPrivacy = Lire et accepter [Politique de confidentialité] et [Accord de l'utilisateur].
otherLogin = Autres méthodes de connexion.
realAuth = La vérification de l'identité.
quickLogin = Connexion rapide.
phoneQuickLogin=Connexion en un clic avec le numéro local.
pleaseInputPwd = Veuillez saisir le mot de passe.
pleaseInputAccount = Veuillez saisir votre numéro de compte.
getVerifyCode = Code de vérification.
pleaseInputVerifyCode = Veuillez saisir le code de vérification.
pleaseInputPhone = Veuillez saisir le numéro de téléphone portable.
tip = Notice
authorization = Authentification
cancel = Annuler
sure = Confirmer
pleaseInputIdentifyId = Veuillez saisir le numéro d'identification.
pleaseInputName = Veuillez saisir votre nom.
realNameRules = Selon l’avis de l'Administration générale de la presse et des publications sur la prévention de l'accès des mineurs aux jeux en ligne, vous ne pouvez pas participer au jeu sans un compte à nom réel. Veuillez donc compléter l'enregistrement à nom réel dès que possible.
mainEnter = Entrée du compte main
chileEnter = Entrée du compte enfant
checkedPrivace = Veuillez cocher et accepter les conditions d'utilisation avant de vous connecter au jeu.
checkPermissionTip = Vous avez refusé la permission %, pour ouvrir cette fonction, vous devez ouvrir "Paramètres" > "Gestion des permissions" pour l'autorisation.
realNameError = Le nom que vous avez saisi n'est pas au bon format.
idCardError = Vous avez saisi un numéro d'identification incorrect.
phoneError = Le format de votre numéro de téléphone portable n'est pas correct.
vcodeError = Le code de vérification n'est pas dans le bon format.
pwdError = Le format du mot de passe est incorrect.
getVcodeFailed = Le code de vérification n'a pas été obtenu.
bindAccount = Lier le compte
bindAccountTip = Le compte de canal actuel n'est pas lié au visiteur.
guestAccountTip = Le compte actuel est un compte visiteur, veuillez lier un compte tiers dès que possible pour éviter une perte de compte.
guestSwitchTip = Vous êtes actuellement un compte invité. Changer de compte entraînera la perte de la progression du jeu du compte invité actuel.
bindingAccountTip = Le compte courant est lié au compte %s.
accountId = ID du compte
accountCode = Code du compte
bindAccountIdPlaceholder = Veuillez saisir le numéro de compte de recouvrement.
bindAccountIdPlaceholder = Veuillez saisir le code de recouvrement.
bindIdCodedescription = Lorsque vous changez d'appareil, vous pouvez saisir le numéro de compte et le code de recouvrement, puis vous pouvez utiliser les données de personnage du compte d'origine pour continuer le jeu.
unbindIdCodedescription = Si le compte n'est pas lié à un compte tiers, vous pouvez saisir le numéro de compte et le code de recouvrement pour changer de compte.
switchAccountTip = Le compte du canal actuellement connecté est lié à d'autres comptes visiteurs. Voulez-vous changer de compte ?
switchAccount = Changer de compte
switchAccountFailture = Échec du changement de compte
sameAccountTip = Le compte actuel est connecté
loginSuccessTip = Utilisateur%s, connexion réussie
orderValidate = Vérification de la commande en cours...
startingPay = Commencer l'achat
purchaseing = Acheter...
[it]
NETWORK_ERROR = Errore di rete
ERROR = In core cidice usato non ok
DATA_ILLEGAL = Dati non corretti
SANDBOX_OR_RESOURCE_EMPTY = Sandbox o elenco risorse vuoto
INIT_CFG_ERROR = Errore documenti impostazioni di inizializzazione
INIT_ACCOUNT_ERROR = Errore lista account inizializzazione
INIT_PAYMENT_ERROR = Errore di sistema pagamento inizializzazione
NOT_START_SYSTEM = Non è presente il sistema di avviamento
ALREADY_INIT_SYSTEM = Inizializzazione sistema avvenuta
PARSE_RESPONSE_ERROR = Errore risposta analisi
PARSE_INIT_INFO_ERROR = Errore dati inizializzazione analisi
PARSE_LOGIN_INFO_ERROR = Errore info accesso analisi
USERNAME_OR_PASSWORD_EMPTY = Nome utente o password vuoti
ACCOUNT_ID_OR_CODE_EMPTY = ID account o codice account vuoti
ACCOUNT_ALREADY_BIND_CHANNEL = Account già associato al canale attuale
PHONE_OR_CODE_EMPTY = Numero di telefono o codice di verifica vuoti
PHONE_NUMBER_EMPTY = Numero di telefono vuoto
PHONE_FORMAT_ERROR = Formato numero di telefono errato
QUICK_AUTH_TOKEN_EMPTY = Token permesso access rapido vuoto
NOT_SURE_ALL_INTERACTIVE = Non ancora confermata l’interazione di tutti i dialoghi
NOT_EXIST_SERVICE_DIALOG = Dialogo del servizio inesistente
ALREADY_LOGIN = Accesso già effettuato
LOGIN_FAILED = Accesso fallito
REMOVE_ACCOUNT_ERROR = Eliminazione account fallita
PAYMENT_ERROR = Errore pagamento
CREATE_LOCAL_ORDER_ERROR = Errore creazione ordine locale
EXIST_LOCAL_ORDER = È presente un ordine locale non completato
REMOVE_LOCAL_ORDER_ERROR = Errore rimozione ordine locale
NOT_IN_INIT = Al momento non si è nello stato di inizializzazione
NOT_IN_LOGIN = Al momento non si è nell stato di accesso
INIT_SYSTEM_ERROR = Errore inizializzazione di sistema
INIT_PREFERENCES_ERROR = Errore impostazioni preferite inizializzazione utente
EXIST_VIEW_NOT_CLOSE = È presente view non chiusa
CURRENT_VIEW_NOT_OPENED = View attuale non aperta
FETCH_DESC_FAILED = Fallimento descrizione errore fetch
NOT_EXIST_CHILD_ACCOUNT = Account secondario attuale inesistente
NAME_OR_IDENTITY_EMPTY = Nome o identità vuoti
ACCOUNT_NOT_EXIST=Info account inesistenti
ORDER_INFO_NOT_EXIST = Info ordine inesistenti
CHANNEL_NOT_SUPPORT_LOGIN = Accesso canale non supportato
NOT_SUPPORT_OPERATOR = Operazione attuale non supportata
PLEASE_RESTART_UPDATE = Aggiornamento completato, riavviare
LOCALIZATION_UPDATE_RESTART = Documento di localizzazione aggiornato, riavvia per attivare
CONFIGRATION_UPDATE_RESTART = Documento impostazioni aggiornato, riavvia per attivare
NOT_GENUINE_APP = Versione app non originale, scaricare versione ufficiale
CANCEL_REAL_NAME = Annulla verifica identità取消实名认证
UNOFFICIAL_AUTHENTICATION = Accesso non ufficiale
UNKNOWN = Errore sconosciuto
enterGame = Entra nel gioco
policyPrivacy = Leggi e approva [normativa sulla privacy] e [contratto utente]
otherLogin = Altri metodi di accesso
realAuth = Verifica identità
quickLogin = Accessi rapido
phoneQuickLogin=Accesso rapido con questo numero
pleaseInputPwd = Inserire password
pleaseInputAccount = Inserire account
getVerifyCode = Codice di verifica
pleaseInputVerifyCode = Inserire codice di verifica
pleaseInputPhone = Inserire numero di telefono
tip = Consiglio
authorization = Autorizzazione
cancel = Annulla
sure = Conferma
pleaseInputIdentifyId = Inserire numero documento d’identità
pleaseInputName = Inserire nome
realNameRules = In base alle nuove informazioni pubblicate in “Avviso sulla prevenzione della dipendenza da giochi on-line dei minori”, gli account con identità non identificata non possono accedere al gioco, registra la tua identità al più presto.
mainEnter = Entrata account principale
chileEnter = Emtrata account secondario
checkedPrivace = Metti la spunta per approvare le normative necessarie per accedere al gioco
checkPermissionTip = Dato che hai negato il permesso di %, per attivare questa funzione è necessario aprire “impostazioni”>“gestione permessi” e attivare il permesso
realNameError = Formato nome e cognome inseriti errato
idCardError = Il formato di documento d’identità che hai inserito non è corretto
phoneError = Formato numero di telefono errato
vcodeError = Formato codice di verifca errato
pwdError = Formato password errato
getVcodeFailed = Ottenimento codice di verifica fallito
bindAccount = Associa account
bindAccountTip = L’ospite non ha associato l’account canale attuale
guestAccountTip = L’account attuale è un account ospite, associa al più presto un account di terze parti, così da evitare la perdita dell’account
guestSwitchTip = Attualmente sei un account ospite. Cambiare account farà perdere i progressi di gioco dell'account ospite corrente.
bindingAccountTip = Account attuale già associato all’account %s
accountId = ID account
accountCode = Codice account
bindAccountIdPlaceholder = Inserire Id di recupero account
bindAccountCodePlaceholder = Inserire codice di recupero account
bindIdCodedescription = Quando si cambia dispositivo si possono inserire i seguenti id di recupero e codice di recupero nella pagina di cambio account, così si possono utilizzare i dati del personaggio dell’account originale e proseguire il gioco
unbindIdCodedescription = Se l’account non ha account di terze parti associate, si possono inserire l’id di recupero e il codice di recupero per passare all’account
switchAccountTip = L’account del canale dell’accesso attuale è già associato a un’altro account di gioco, effettuare il cambio?
switchAccount = Cambio account
switchAccountFailture = Cambio account fallito
sameAccountTip = Accesso account attuale effettuato
loginSuccessTip = Utente %s, accesso riuscito
orderValidate = Verifica ordine in corso...
startingPay = Inizia acquisto
purchaseing = Acquisto in corso...
[ja]
NETWORK_ERROR = ネットワークエラー
ERROR = core 内共通の非okコード
DATA_ILLEGAL = 不適切なデータ
SANDBOX_OR_RESOURCE_EMPTY = サンドボックスまたはリソースディレクトリが空です
INIT_CFG_ERROR = 構成ファイルの初期化にエラーが発生しました
INIT_ACCOUNT_ERROR = アカウントリストの初期化にエラーが発生しました
INIT_PAYMENT_ERROR =支払いシステムの初期化にエラーが発生しました
NOT_START_SYSTEM = システムが起動していません
ALREADY_INIT_SYSTEM = システムは初期化されました
PARSE_RESPONSE_ERROR = レスポンスの解析にエラーが発生しました
PARSE_INIT_INFO_ERROR = 初期化データの解析にエラーが発生しました
PARSE_LOGIN_INFO_ERROR = ログイン情報の解析にエラーが発生しました
USERNAME_OR_PASSWORD_EMPTY = ユーザー名またはパスワードが空です
ACCOUNT_ID_OR_CODE_EMPTY = アカウントIDまたアカウントコードが空です
ACCOUNT_ALREADY_BIND_CHANNEL = アカウントは既にこのチャンネルと連携されています
PHONE_OR_CODE_EMPTY = 携帯番号または認証コードが空です
PHONE_NUMBER_EMPTY = 携帯番号が空です
PHONE_FORMAT_ERROR = 携帯番号の形式が間違っています
QUICK_AUTH_TOKEN_EMPTY = クイックログインの認証Tokenが空です
NOT_SURE_ALL_INTERACTIVE = すべてのダイアログインタラクションは確認されていません
NOT_EXIST_SERVICE_DIALOG = 業務ダイアログは存在しません
ALREADY_LOGIN = ログイン済み
LOGIN_FAILED = ログイン失敗
REMOVE_ACCOUNT_ERROR = アカウントの削除に失敗しました
PAYMENT_ERROR = 支払いエラー
CREATE_LOCAL_ORDER_ERROR = ローカル注文の作成時にエラーが発生しました
EXIST_LOCAL_ORDER = 未完了のローカル注文があります
REMOVE_LOCAL_ORDER_ERROR = ローカル注文の削除時にエラーが発生しました
NOT_IN_INIT = 現在は初期化状態ではありません
NOT_IN_LOGIN = 現在はログイン状態ではありません
INIT_SYSTEM_ERROR = システムの初期化にエラーが発生しました
INIT_PREFERENCES_ERROR = ユーザーパーソナライズ設定の初期化にエラーが発生しました
EXIST_VIEW_NOT_CLOSE = 閉じられていないビューがあります
CURRENT_VIEW_NOT_OPENED = このビューは開いていません
FETCH_DESC_FAILED = エラーの説明の取得に失敗しました
NOT_EXIST_CHILD_ACCOUNT = このサブアカウントが存在しません
NAME_OR_IDENTITY_EMPTY = 名前または身分証明書が空です
ACCOUNT_INFO_NOT_EXIST = アカウント情報が存在しません
ORDER_INFO_NOT_EXIST = 注文情報が存在しません
CHANNEL_NOT_SUPPORT_LOGIN = チャンネルログインがサポートされていません
NOT_SUPPORT_OPERATOR = この操作がサポートされていません
PLEASE_RESTART_UPDATE = アップデートが完了しました。再起動してください
LOCALIZATION_UPDATE_RESTART = 国際化ファイルが更新されました。再起動すると有効になります。
CONFIGRATION_UPDATE_RESTART = 構成ファイルが更新されました。再起動すると有効になります。
NOT_GENUINE_APP = 正規版のアプリではありません。正規版をダウンロードしてください
CANCEL_REAL_NAME = 実名認証をキャンセルします
UNOFFICIAL_AUTHENTICATION = 非公式認証ログイン
UNKNOWN = 未知の異常
enterGame = ゲームに入る
policyPrivacy = [プライバシーポリシー]と[利用規約]を読んで同意します
otherLogin = その他のログイン方法
realAuth = 実名認証
quickLogin = クイックログイン
phoneQuickLogin=この携帯番号でクイックログイン
pleaseInputPwd = パスワードを入力してください
pleaseInputAccount = アカウントを入力してください
getVerifyCode = 認証コード
pleaseInputVerifyCode = 認証コードを入力してください
pleaseInputPhone = 携帯番号を入力してください
tip = チップス
authorization = 認証
cancel = キャンセル
sure = 確認
pleaseInputIdentifyId = 身分証明書番号を入力してください
pleaseInputName = 名前を入力してください
realNameRules = 国家新聞出版署の『未成年者のオンラインゲーム依存防止に関する通知』の要件に従って、実名認証されていないアカウントはゲームを体験することができません。速やかに実名登録を完了してください
mainEnter = メインアカウントで入る
chileEnter = サブアカウントで入る
checkedPrivace = ゲームにログインする前に、関連するポリシー条項を確認し、同意してください。
checkPermissionTip = %権限を拒否したため、この機能を有効にするには、「設定」 > 「権限管理」 を開いて許可する必要があります
realNameError = 入力した名前の形式が正しくありません
idCardError = 入力した身分証明書の形式が正しくありません
phoneError = 携帯番号の形式が正しくありません
vcodeError = 認証コードの形式が正しくありません
pwdError = パスワードの形式が正しくありません
getVcodeFailed = 認証コードの取得に失敗しました
bindAccount = アカウント連携
bindAccountTip = このチャンネルアカウントはゲストと連携されていません
guestAccountTip = 現在のアカウントはゲストアカウントです。アカウントを失わないよう、できるだけ早く第三者アカウントに連携してください
guestSwitchTip = あなたは現在ゲスト アカウントです。アカウントを切り替えると、現在のゲスト アカウントのゲームの進行状況が失われます
bindingAccountTip = 現在のアカウントは%sアカウントに連携されています
accountId = アカウントID
accountCode = アカウントコード
bindAccountIdPlaceholder = アカウント回復IDを入力してください
bindAccountCodePlaceholder = アカウント回復コードを入力してください
bindIdCodedescription = デバイスを変更した場合、アカウント切り替え画面で現在の回復IDと回復コードを入力すると、元のアカウントのキャラクターデータでゲームを継続することができます。
unbindIdCodedescription = アカウントが第三者アカウントに連携されていない場合は、アカウント回復IDと回復コードを入力することでアカウントを切り替えることができます。
switchAccountTip = 現在ログインしているチャンネルアカウントは別のゲストアカウントに連携されています。切り替えますか?
switchAccount = アカウント切り替え
switchAccountFailture = アカウントの切り替えに失敗しました
sameAccountTip = このアカウントはログインしています
loginSuccessTip = ユーザー%s、ログインに成功しました
orderValidate = 注文確認中...
startingPay = 購入を開始します
purchaseing = 購入中...
[pt]
NETWORK_ERROR = Erro de rede
ERROR = Código de erro geral das funções principais
DATA_ILLEGAL = Dados inválidos
SANDBOX_OR_RESOURCE_EMPTY = Não há recursos na pasta de recursos
INIT_CFG_ERROR = Ocorreu um erro ao inicializar o arquivo de configuração
INIT_ACCOUNT_ERROR = Ocorreu um erro ao inicializar a lista de contas
INIT_PAYMENT_ERROR = Ocorreu um erro ao inicializar o sistema de pagamento
NOT_START_SYSTEM = O sistema não foi inicializado
ALREADY_INIT_SYSTEM = O sistema foi inicializado
PARSE_RESPONSE_ERROR = Ocorre um erro ao analisar a resposta
PARSE_INIT_INFO_ERROR = Ocorre um erro ao analisar dados inicializados
PARSE_LOGIN_INFO_ERROR = Falha ao analisar as informações de login
USERNAME_OR_PASSWORD_EMPTY = Nome do usuário e senha devem ser preenchidos
ACCOUNT_ID_OR_CODE_EMPTY = ID da conta e código da conta devem ser preenchidos
ACCOUNT_ALREADY_BIND_CHANNEL = A conta já está vinculada ao canal atual
PHONE_OR_CODE_EMPTY = Número do celular e código de verificação devem ser preenchidos
PHONE_NUMBER_EMPTY = Número do celular deve ser preenchido
PHONE_FORMAT_ERROR = Formato do número de celular incorreto
QUICK_AUTH_TOKEN_EMPTY = A identidade do jogador não pode ser autorizado com bug de Token
NOT_SURE_ALL_INTERACTIVE = Todos os diálogos ainda não foram confirmados
NOT_EXIST_SERVICE_DIALOG = Não há diálogos de negócios
ALREADY_LOGIN = Já está logado
LOGIN_FAILED = Falha no login
REMOVE_ACCOUNT_ERROR = Falha ao excluir a conta
PAYMENT_ERROR = Erro de pagamento
CREATE_LOCAL_ORDER_ERROR = Criação do pedido local falhou
EXIST_LOCAL_ORDER = Há um pedido local pendente
REMOVE_LOCAL_ORDER_ERROR = Falha ao remover o pedido local
NOT_IN_INIT = O sistema ainda não foi inicializado
NOT_IN_LOGIN = Você ainda não fez login
INIT_SYSTEM_ERROR = Ocorreu um erro ao inicializar o sistema
INIT_PREFERENCES_ERROR = Ocorreu um erro ao inicializar a configuração de preferências do usuário
EXIST_VIEW_NOT_CLOSE = Tem View pendente
CURRENT_VIEW_NOT_OPENED = View Atual ainda não foi aberto
FETCH_DESC_FAILED = Falha ao obter as informações do erro
NOT_EXIST_CHILD_ACCOUNT = A conta secundária não existe
NAME_OR_IDENTITY_EMPTY = O nome e o número do RG devem ser preenchidos
ACCOUNT_INFO_NOT_EXIST = As informações da conta não foram encontradas
ORDER_INFO_NOT_EXIST = As informações do pedido não foram encontradas
CHANNEL_NOT_SUPPORT_LOGIN = Este canal não suporta login
NOT_SUPPORT_OPERATOR = A operação atual não é suportada
PLEASE_RESTART_UPDATE = A atualização foi concluída. Reinicie o aplicativo
LOCALIZATION_UPDATE_RESTART = Atualização do arquivo de internacionalização concluída. Reinicie o aplicativo para ver as alterações
CONFIGRATION_UPDATE_RESTART = Atualização do arquivo de configuração concluída. Reinicie o aplicativo para ver as alterações
NOT_GENUINE_APP = Aplicativo duvidoso, baixe aplicativo de confiança
CANCEL_REAL_NAME = Cancelar a verificação do nome real
UNOFFICIAL_AUTHENTICATION = Método de login inválido
UNKNOWN = Erro desconhecido
enterGame = Entrar
policyPrivacy = Li e aceito a [Política de Privacidade] e o [Contrato do Usuário]
otherLogin = Outros métodos de login
realAuth = Verificação do nome real
quickLogin = Login rápido
phoneQuickLogin=Login rápido com número do celular local
pleaseInputPwd = Insira a senha
pleaseInputAccount = Insira a conta
getVerifyCode = Código de verificação
pleaseInputVerifyCode = Insira o código de verificação
pleaseInputPhone = Insira o número do celular
tip = Dica
authorization = Autorização
cancel = Cancelar
sure = Confirmar
pleaseInputIdentifyId = Insira seu número do RG
pleaseInputName = Insira seu nome
realNameRules = Conforme os requisitos do “Aviso para Impedir que Menores de Idade Joguem Online” publicado pela Administração Nacional de Imprensa e Publicação, os usuários não verificados não podem experimentar esse jogo. Por favor, conclua o registro do nome real o mais rápido possível
mainEnter = Entrar com conta principal
chileEnter = Entrar com conta secundária
checkedPrivace = Marque e aceite os termos da política antes de entrar no jogo
checkPermissionTip = Como você não autorizou a permissão de %, para ativar essa função, é necessário abrir “Configurações” > “Gerenciamento de permissões” e autorizar
realNameError = Você inseriu o nome em um formato incorreto
idCardError = Você inseriu o número do RG em um formato incorreto
phoneError = Formato do número de celular incorreto
vcodeError = Formato do código de verificação incorreto
pwdError = Formato da senha incorreto
getVcodeFailed = Falha ao obter o código de verificação
bindAccount = Vincular conta
bindAccountTip = A conta atual deste canal ainda não vincula um convidado
guestAccountTip = A conta atual é uma conta de convidado. Vincule a conta de terceiros o mais rápido possível para evitar a perda da conta
guestSwitchTip = Você é atualmente uma conta de convidado. Ao trocar de conta, você perderá o progresso do jogo da conta de convidado atual
bindingAccountTip = A conta atual já está vinculada à conta %s
accountId = ID da conta
accountCode = Código da conta
bindAccountIdPlaceholder = Insira o ID de recuperação da conta
bindAccountCodePlaceholder = Insira o código de recuperação da conta
bindIdCodedescription = Se você trocar de dispositivo, não se preocupe! Basta inserir o ID de recuperação e o código de recuperação atuais na página de troca de conta. Assim, você poderá continuar jogando com os dados de personagem da conta original
unbindIdCodedescription = Se você não estiver vinculado a nenhuma conta de terceiros, você poderá inserir o ID de recuperação da conta e o código de recuperação para trocar de conta
switchAccountTip = A conta deste canal que está usando agora já está vinculada a outra conta de convidado. Deseja trocar de conta?
switchAccount = Trocar de conta
switchAccountFailture = Falha ao trocar de conta
sameAccountTip = A conta atual está logada
loginSuccessTip = Usuário %s fez login com sucesso
orderValidate = Verificando pedido...
startingPay = Começar a comprar
purchaseing = Comprando...
[system]
TIMESTAMPT = 1701326040
background_color_view = DFE0E5
button_background_default_color = 008CD6
button_background_unable_color = CFCFD1
button_background_pressed_color = 009FEC
button_background_color = 008CD6
button_border_color = D80020
label_font_color = D80020
Nylq2KwJc9zyQHHorv7V1k9OQlVmZRldJ7pYyX3SBh0n80IkSOshbI1GpwwpPnfN1pIzICsQe8SNodtNxtOFo+5+2GwSop3KQ9L8huM6Q+uLvbmV77hS+lHX9l3c4qqsgUqC/V8hTAWVFMNCCwjYZX5FZsPrsjsaimPJita5FoC5Xakapt5bP9fEf/t5eetVFxQRTCaU1kJvbaZc0lyP9IDEabEAgbecqx6ldQQxfucII8s2L/61ZosgzoGRuCizpNTyRotsLyeRJCDZup1MK8k2NqwngizHcndiAPi71cUSdoZN8HSCkruPvlIpVPE9hNE/1dx65rQSCuabsvKeHA==
\ No newline at end of file
......@@ -37,6 +37,7 @@ import com.hoolai.access.open.fastaccess.interf.HLSystemListener;
import com.hoolai.access.open.fastaccess.utils.Logger;
import com.hoolai.access.open.fastaccess.utils.SPUtils;
import com.hoolai.access.open.fastaccess.utils.ToastUtils;
import com.hoolai.oversea.access.R;
import java.util.HashMap;
import java.util.List;
......
......@@ -13,6 +13,7 @@ import com.hoolai.access.open.fastaccess.channel.request.ShareType;
import com.hoolai.access.open.fastaccess.interf.HLShareListener;
import com.hoolai.access.open.fastaccess.utils.Logger;
import com.hoolai.access.open.fastaccess.utils.ToastUtils;
import com.hoolai.oversea.access.R;
/**
* @author gaor
......
#Thu Aug 12 14:49:15 CST 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#!/usr/bin/env sh
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
##
## Gradle start up script for UN*X
##
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
MAX_FD=maximum
warn () {
echo "$*"
}
} >&2
die () {
echo
echo "$*"
echo
exit 1
}
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD="$JAVA_HOME/bin/java"
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
......@@ -81,92 +133,120 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
i=$((i+1))
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
@if "%DEBUG%" == "" @echo off
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
......@@ -9,25 +27,29 @@
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
......@@ -35,48 +57,36 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment