Adding Chinese, Japanese and Korean Support

This commit is contained in:
jamz-uk committed 2025-08-21 17:25:31 +01:00
1 parent 365f84626f
commit 0e997fb626
1 file changed
+231
+231
View File
@@ -732,6 +732,234 @@
automation: "Otomasyon",
noChargesThreshold: "⌛ Hakların {threshold} seviyesine ulaşması bekleniyor. Şu anda {current}. Sonraki {time} içinde...",
},
zh: {
title: "WPlace 自动图像",
toggleOverlay: "切换覆盖层",
scanColors: "扫描颜色",
uploadImage: "上传图像",
resizeImage: "调整大小",
selectPosition: "选择位置",
startPainting: "开始绘制",
stopPainting: "停止绘制",
checkingColors: "🔍 正在检查可用颜色...",
noColorsFound: "❌ 请在网站上打开调色板后再试!",
colorsFound: "✅ 找到 {count} 个可用颜色,准备上传。",
loadingImage: "🖼️ 正在加载图像...",
imageLoaded: "✅ 图像已加载,包含 {count} 个有效像素",
imageError: "❌ 加载图像时出错",
selectPositionAlert: "请在你想让作品开始的位置绘制第一个像素!",
waitingPosition: "👆 正在等待你绘制参考像素...",
positionSet: "✅ 位置设置成功!",
positionTimeout: "❌ 选择位置超时",
startPaintingMsg: "🎨 开始绘制...",
paintingProgress: "🧱 进度: {painted}/{total} 像素...",
noCharges: "⌛ 无可用次数,等待 {time}...",
paintingStopped: "⏹️ 已被用户停止",
paintingComplete: "✅ 绘制完成!共绘制 {count} 个像素。",
paintingError: "❌ 绘制过程中出错",
missingRequirements: "❌ 请先加载图像并选择位置",
progress: "进度",
pixels: "像素",
charges: "次数",
estimatedTime: "预计时间",
initMessage: "点击“上传图像”开始",
waitingInit: "正在等待初始化...",
initializingToken: "🔧 正在初始化 Turnstile 令牌生成器...",
tokenReady: "✅ 令牌生成器已就绪 - 可以开始绘制!",
tokenRetryLater: "⚠️ 令牌生成器稍后将重试",
resizeSuccess: "✅ 图像已调整为 {width}x{height}",
paintingPaused: "⏸️ 在位置 X: {x}, Y: {y} 暂停",
captchaNeeded: "❗ 令牌生成失败,请稍后再试。",
saveData: "保存进度",
loadData: "加载进度",
saveToFile: "保存到文件",
loadFromFile: "从文件加载",
dataManager: "数据管理",
autoSaved: "✅ 进度已自动保存",
dataLoaded: "✅ 进度加载成功",
fileSaved: "✅ 已成功保存到文件",
fileLoaded: "✅ 已成功从文件加载",
noSavedData: "❌ 未找到已保存进度",
savedDataFound: "✅ 找到已保存进度!是否加载继续?",
savedDate: "保存时间: {date}",
clickLoadToContinue: "点击“加载进度”继续。",
fileError: "❌ 处理文件时出错",
invalidFileFormat: "❌ 文件格式无效",
paintingSpeed: "绘制速度",
pixelsPerSecond: "像素/秒",
speedSetting: "速度: {speed} 像素/秒",
settings: "设置",
botSettings: "机器人设置",
close: "关闭",
language: "语言",
themeSettings: "主题设置",
themeSettingsDesc: "为界面选择你喜欢的配色主题。",
languageSelectDesc: "选择你偏好的语言,变更立即生效。",
autoCaptcha: "自动 CAPTCHA 解决",
autoCaptchaDesc: "使用集成的生成器自动生成 Turnstile 令牌,必要时回退到浏览器自动化。",
applySettings: "应用设置",
settingsSaved: "✅ 设置保存成功!",
speedOn: "开启",
speedOff: "关闭",
cooldownSettings: "冷却设置",
waitCharges: "等待次数达到",
captchaSolving: "🔑 正在生成 Turnstile 令牌...",
captchaFailed: "❌ 令牌生成失败。尝试回退方法...",
automation: "自动化",
noChargesThreshold: "⌛ 等待次数达到 {threshold}。当前 {current}。下次在 {time}...",
},
ja: {
title: "WPlace 自動画像",
toggleOverlay: "オーバーレイ切替",
scanColors: "色をスキャン",
uploadImage: "画像をアップロード",
resizeImage: "画像サイズ変更",
selectPosition: "位置を選択",
startPainting: "描画開始",
stopPainting: "描画停止",
checkingColors: "🔍 利用可能な色を確認中...",
noColorsFound: "❌ サイトでカラーパレットを開いて再試行してください!",
colorsFound: "✅ 利用可能な色 {count} 件を検出。アップロード可能。",
loadingImage: "🖼️ 画像を読み込み中...",
imageLoaded: "✅ 画像を読み込みました。有効なピクセル {count}",
imageError: "❌ 画像の読み込みエラー",
selectPositionAlert: "作品を開始したい位置に最初のピクセルを置いてください!",
waitingPosition: "👆 参照ピクセルの描画を待っています...",
positionSet: "✅ 位置を設定しました!",
positionTimeout: "❌ 位置選択のタイムアウト",
startPaintingMsg: "🎨 描画を開始...",
paintingProgress: "🧱 進捗: {painted}/{total} ピクセル...",
noCharges: "⌛ チャージなし。{time} 待機...",
paintingStopped: "⏹️ ユーザーにより停止されました",
paintingComplete: "✅ 描画完了! {count} ピクセル描画。",
paintingError: "❌ 描画中にエラー",
missingRequirements: "❌ 先に画像を読み込み位置を選択してください",
progress: "進捗",
pixels: "ピクセル",
charges: "チャージ",
estimatedTime: "推定時間",
initMessage: "「画像をアップロード」をクリックして開始",
waitingInit: "初期化待機中...",
initializingToken: "🔧 Turnstile トークン生成器を初期化中...",
tokenReady: "✅ トークン生成器準備完了 - 描画できます!",
tokenRetryLater: "⚠️ 必要に応じて再試行します",
resizeSuccess: "✅ 画像を {width}x{height} にリサイズ",
paintingPaused: "⏸️ X: {x}, Y: {y} で一時停止",
captchaNeeded: "❗ トークン生成に失敗。少ししてから再試行してください。",
saveData: "進捗を保存",
loadData: "進捗を読み込み",
saveToFile: "ファイルへ保存",
loadFromFile: "ファイルから読み込み",
dataManager: "データ管理",
autoSaved: "✅ 自動保存しました",
dataLoaded: "✅ 進捗を読み込みました",
fileSaved: "✅ ファイルに保存しました",
fileLoaded: "✅ ファイルから読み込みました",
noSavedData: "❌ 保存された進捗がありません",
savedDataFound: "✅ 保存された進捗が見つかりました。続行しますか?",
savedDate: "保存日時: {date}",
clickLoadToContinue: "「進捗を読み込み」をクリックして続行。",
fileError: "❌ ファイル処理エラー",
invalidFileFormat: "❌ 無効なファイル形式",
paintingSpeed: "描画速度",
pixelsPerSecond: "ピクセル/秒",
speedSetting: "速度: {speed} ピクセル/秒",
settings: "設定",
botSettings: "ボット設定",
close: "閉じる",
language: "言語",
themeSettings: "テーマ設定",
themeSettingsDesc: "インターフェースの好きなカラーテーマを選択。",
languageSelectDesc: "希望言語を選択。変更は即時反映されます。",
autoCaptcha: "自動 CAPTCHA ソルバー",
autoCaptchaDesc: "統合ジェネレーターで Turnstile トークンを自動生成し必要に応じてブラウザ自動化にフォールバック。",
applySettings: "設定を適用",
settingsSaved: "✅ 設定を保存しました!",
speedOn: "オン",
speedOff: "オフ",
cooldownSettings: "クールダウン設定",
waitCharges: "チャージ数が次に達するまで待機",
captchaSolving: "🔑 Turnstile トークン生成中...",
captchaFailed: "❌ トークン生成失敗。フォールバックを試行...",
automation: "自動化",
noChargesThreshold: "⌛ チャージ {threshold} を待機中。現在 {current}。次は {time} 後...",
},
ko: {
title: "WPlace 자동 이미지",
toggleOverlay: "오버레이 전환",
scanColors: "색상 스캔",
uploadImage: "이미지 업로드",
resizeImage: "크기 조정",
selectPosition: "위치 선택",
startPainting: "그리기 시작",
stopPainting: "그리기 중지",
checkingColors: "🔍 사용 가능한 색상 확인 중...",
noColorsFound: "❌ 사이트에서 색상 팔레트를 연 후 다시 시도하세요!",
colorsFound: "✅ 사용 가능한 색상 {count}개 발견. 업로드 준비 완료.",
loadingImage: "🖼️ 이미지 불러오는 중...",
imageLoaded: "✅ 이미지 로드 완료. 유효 픽셀 {count}개",
imageError: "❌ 이미지 로드 오류",
selectPositionAlert: "작품을 시작할 위치에 첫 픽셀을 칠하세요!",
waitingPosition: "👆 기준 픽셀을 칠할 때까지 대기 중...",
positionSet: "✅ 위치 설정 완료!",
positionTimeout: "❌ 위치 선택 시간 초과",
startPaintingMsg: "🎨 그리기 시작...",
paintingProgress: "🧱 진행: {painted}/{total} 픽셀...",
noCharges: "⌛ 사용 가능 횟수 없음. {time} 대기...",
paintingStopped: "⏹️ 사용자에 의해 중지됨",
paintingComplete: "✅ 그리기 완료! {count} 픽셀 그렸습니다.",
paintingError: "❌ 그리는 중 오류",
missingRequirements: "❌ 먼저 이미지를 불러오고 위치를 선택하세요",
progress: "진행",
pixels: "픽셀",
charges: "횟수",
estimatedTime: "예상 시간",
initMessage: "'이미지 업로드'를 클릭하여 시작",
waitingInit: "초기화 대기 중...",
initializingToken: "🔧 Turnstile 토큰 생성기 초기화 중...",
tokenReady: "✅ 토큰 생성 준비 완료 - 그리기를 시작할 수 있습니다!",
tokenRetryLater: "⚠️ 필요 시 다시 시도합니다",
resizeSuccess: "✅ 이미지가 {width}x{height} 크기로 조정됨",
paintingPaused: "⏸️ 위치 X: {x}, Y: {y} 에서 일시 중지",
captchaNeeded: "❗ 토큰 생성 실패. 잠시 후 다시 시도하세요.",
saveData: "진행 저장",
loadData: "진행 불러오기",
saveToFile: "파일로 저장",
loadFromFile: "파일에서 불러오기",
dataManager: "데이터",
autoSaved: "✅ 진행 자동 저장됨",
dataLoaded: "✅ 진행 불러오기 성공",
fileSaved: "✅ 파일 저장 성공",
fileLoaded: "✅ 파일 불러오기 성공",
noSavedData: "❌ 저장된 진행 없음",
savedDataFound: "✅ 저장된 진행 발견! 계속하려면 불러오시겠습니까?",
savedDate: "저장 시각: {date}",
clickLoadToContinue: "'진행 불러오기'를 클릭하여 계속.",
fileError: "❌ 파일 처리 오류",
invalidFileFormat: "❌ 잘못된 파일 형식",
paintingSpeed: "그리기 속도",
pixelsPerSecond: "픽셀/초",
speedSetting: "속도: {speed} 픽셀/초",
settings: "설정",
botSettings: "봇 설정",
close: "닫기",
language: "언어",
themeSettings: "테마 설정",
themeSettingsDesc: "인터페이스용 선호 색상 테마를 선택하세요.",
languageSelectDesc: "선호 언어를 선택하세요. 변경 사항은 즉시 적용됩니다.",
autoCaptcha: "자동 CAPTCHA 해결",
autoCaptchaDesc: "통합 생성기를 사용해 Turnstile 토큰을 자동 생성하고 필요 시 브라우저 자동화로 폴백.",
applySettings: "설정 적용",
settingsSaved: "✅ 설정 저장 완료!",
speedOn: "켜짐",
speedOff: "꺼짐",
cooldownSettings: "쿨다운 설정",
waitCharges: "횟수가 다음 값에 도달할 때까지 대기",
captchaSolving: "🔑 Turnstile 토큰 생성 중...",
captchaFailed: "❌ 토큰 생성 실패. 폴백 시도...",
automation: "자동화",
noChargesThreshold: "⌛ 횟수가 {threshold} 에 도달할 때까지 대기 중. 현재 {current}. 다음 {time} 후...",
},
}
// GLOBAL STATE
@@ -3539,6 +3767,9 @@
<option value="pt" ${state.language === 'pt' ? 'selected' : ''} style="background: #2d3748; color: white;">🇧🇷 Português</option>
<option value="fr" ${state.language === 'fr' ? 'selected' : ''} style="background: #2d3748; color: white;">🇫🇷 Français</option>
<option value="tr" ${state.language === 'tr' ? 'selected' : ''} style="background: #2d3748; color: white;">🇹🇷 Türkçe</option>
<option value="zh" ${state.language === 'zh' ? 'selected' : ''} style="background: #2d3748; color: white;">🇨🇳 简体中文</option>
<option value="ja" ${state.language === 'ja' ? 'selected' : ''} style="background: #2d3748; color: white;">🇯🇵 日本語</option>
<option value="ko" ${state.language === 'ko' ? 'selected' : ''} style="background: #2d3748; color: white;">🇰🇷 한국어</option>
</select>
</div>
</div>