feat(i18n): clarify captcha challenge labels

- harmonize challenge prompts across supported locales
- reuse shared helper to reduce duplicated translations
- ensure login flow references updated label key

Signed-off-by: Qi HU <github@spcsky.com>
This commit is contained in:
Qi HU
2025-10-13 12:15:25 +08:00
parent 1614ac3f3d
commit 60e1e45d73
11 changed files with 23 additions and 7 deletions

View File

@@ -1847,16 +1847,23 @@ function show_image_code () {
}
$manager = captcha_manager();
$driver = $manager->driver();
if (!$manager->isEnabled()) {
if (!$driver->isEnabled()) {
return;
}
$markup = $manager->render([
'labels' => [
'image' => $lang_functions['row_security_image'],
'code' => $lang_functions['row_security_code'],
],
$labelKey = $driver instanceof \App\Services\Captcha\Drivers\ImageCaptchaDriver
? 'row_security_image'
: 'row_security_challenge';
$labels = [
'image' => $lang_functions[$labelKey] ?? $lang_functions['row_security_image'],
'code' => $lang_functions['row_security_code'],
];
$markup = $driver->render([
'labels' => $labels,
'secret' => $_GET['secret'] ?? '',
]);

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => '你将获得',
'std_by' => '由',
'row_security_image' => "验证图片:",
'row_security_challenge' => "安全验证:",
'row_security_code' => "验证码:",
'text_slots' => "连接数:",
'text_unlimited' => "无限制",

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => '妳將獲得',
'std_by' => '由',
'row_security_image' => "驗證圖片:",
'row_security_challenge' => "安全驗證:",
'row_security_code' => "驗證碼:",
'text_slots' => "連接數:",
'text_unlimited' => "無限制",

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => 'You will get',
'std_by' => 'By',
'row_security_image' => "Security Image:",
'row_security_challenge' => "Security Challenge:",
'row_security_code' => "Security Code:",
'text_slots' => "Slots:",
'text_unlimited' => "Unlimited",

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => 'You will get',
'std_by' => 'By',
'row_security_image' => "Security Image:",
'row_security_challenge' => "Security Challenge:",
'row_security_code' => "Security Code:",
'text_slots' => "Slots:",
'text_unlimited' => "Unbegrenzt",

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => 'You will get',
'std_by' => 'By',
'row_security_image' => "Security Image:",
'row_security_challenge' => "Security Challenge:",
'row_security_code' => "Security Code:",
'text_slots' => "Slots:",
'text_unlimited' => "Unlimited",

View File

@@ -11,7 +11,7 @@ $lang_login = array
'p_remaining_tries' => "remaining tries.",
'p_no_account_signup' => "Don't have an account? <a href=\"signup.php\"><b>Sign up</b></a> right now!",
'p_forget_pass_recover' => "Forget your password? Recover your password <a href=\"recover.php\"><b>via email</b></a>",
'p_account_banned' => "Account banned? view reason on<a href=\"user-ban-log.php\"><b>user ban log</b></a>",
'p_account_banned' => "Account banned? view reason on <a href=\"user-ban-log.php\"><b>user ban log</b></a>",
'p_resend_confirm' => "Did not receive confirmation mail or confirmation link is broken? <a href=\"confirm_resend.php\"><b>Send confirmation mail again</b></a>",
'rowhead_username' => "Username:",
'rowhead_password' => "Password:",

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => 'You will get',
'std_by' => 'By',
'row_security_image' => "Security Image:",
'row_security_challenge' => "Security Challenge:",
'row_security_code' => "Security Code:",
'text_slots' => "Slots:",
'text_unlimited' => "Ilimitado",

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => 'You will get',
'std_by' => 'By',
'row_security_image' => "Security Image:",
'row_security_challenge' => "Security Challenge:",
'row_security_code' => "Security Code:",
'text_slots' => "Slots:",
'text_unlimited' => "Illimité",

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => 'You will get',
'std_by' => 'By',
'row_security_image' => "Security Image:",
'row_security_challenge' => "Security Challenge:",
'row_security_code' => "Security Code:",
'text_slots' => "Slots:",
'text_unlimited' => "Unlimited",

View File

@@ -41,6 +41,7 @@ $lang_functions = array
'std_you_will_get' => 'You will get',
'std_by' => 'By',
'row_security_image' => "Security Image:",
'row_security_challenge' => "Security Challenge:",
'row_security_code' => "Security Code:",
'text_slots' => "Slots:",
'text_unlimited' => "Неограниченный",