🌐 locale: add usernameTooLong translations with CJK spacing fix (#12615)

This commit is contained in:
YuTengjing 2026-03-03 16:13:18 +08:00 committed by GitHub
parent 43578a9bcc
commit 9ab2f219e4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 57 additions and 21 deletions

View file

@ -13,31 +13,50 @@ user_invocable: true
## Steps
1. **Gather context** (run in parallel):
- `git branch --show-current` — current branch name
- `git rev-parse --abbrev-ref @{u} 2>/dev/null` — remote tracking status
- `git log --oneline origin/canary..HEAD` — unpushed commits
- `gh pr list --head "$(git branch --show-current)" --json number,title,state,url` — existing PR
- `git log --oneline origin/canary..HEAD` — commit history for PR title
- `git diff --stat --stat-count=20 origin/canary..HEAD` — change summary
### 1. Gather context (run in parallel)
2. **Push if needed**:
- No upstream: `git push -u origin $(git branch --show-current)`
- Has upstream: `git push origin $(git branch --show-current)`
- `git branch --show-current` — current branch name
- `git status --short` — uncommitted changes
- `git rev-parse --abbrev-ref @{u} 2>/dev/null` — remote tracking status
- `git log --oneline origin/canary..HEAD` — unpushed commits
- `gh pr list --head "$(git branch --show-current)" --json number,title,state,url` — existing PR
- `git diff --stat --stat-count=20 origin/canary..HEAD` — change summary
3. **Search related GitHub issues**:
- `gh issue list --search "<keywords>" --state all --limit 10`
- Only link issues with matching scope (avoid large umbrella issues)
- Skip if no matching issue found
### 2. Handle uncommitted changes on default branch
4. **Create PR** with `gh pr create --base canary`:
- Title: `<gitmoji> <type>(<scope>): <description>`
- Body: based on PR template (`.github/PULL_REQUEST_TEMPLATE.md`), fill checkboxes
- Link related GitHub issues using magic keywords (`Fixes #123`, `Closes #123`)
- Link Linear issues if applicable (`Fixes LOBE-xxx`)
- Use HEREDOC for body to preserve formatting
If current branch is `canary` (or `main`) AND there are uncommitted changes:
5. **Open in browser**: `gh pr view --web`
1. Analyze the diff (`git diff`) to understand the changes
2. Infer a branch name from the changes, format: `<type>/<short-description>` (e.g. `fix/i18n-cjk-spacing`)
3. Create and switch to the new branch: `git checkout -b <branch-name>`
4. Stage relevant files: `git add <files>` (prefer explicit file paths over `git add .`)
5. Commit with a proper gitmoji message
6. Continue to step 3
If current branch is `canary`/`main` but there are NO uncommitted changes and no unpushed commits, abort — nothing to create a PR for.
### 3. Push if needed
- No upstream: `git push -u origin $(git branch --show-current)`
- Has upstream: `git push origin $(git branch --show-current)`
### 4. Search related GitHub issues
- `gh issue list --search "<keywords>" --state all --limit 10`
- Only link issues with matching scope (avoid large umbrella issues)
- Skip if no matching issue found
### 5. Create PR with `gh pr create --base canary`
- Title: `<gitmoji> <type>(<scope>): <description>`
- Body: based on PR template (`.github/PULL_REQUEST_TEMPLATE.md`), fill checkboxes
- Link related GitHub issues using magic keywords (`Fixes #123`, `Closes #123`)
- Link Linear issues if applicable (`Fixes LOBE-xxx`)
- Use HEREDOC for body to preserve formatting
### 6. Open in browser
`gh pr view --web`
## PR Template

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "أدخل اسم مستخدم يحتوي على أحرف أو أرقام أو شرطة سفلية",
"profile.usernameRequired": "لا يمكن أن يكون اسم المستخدم فارغًا",
"profile.usernameRule": "يمكن أن يحتوي اسم المستخدم على أحرف أو أرقام أو شرطة سفلية فقط",
"profile.usernameTooLong": "لا يمكن أن يتجاوز اسم المستخدم 64 حرفًا",
"profile.usernameUpdateFailed": "فشل في تحديث اسم المستخدم، يرجى المحاولة لاحقًا",
"signin.subtitle": "سجّل أو قم بتسجيل الدخول إلى حساب {{appName}} الخاص بك",
"signin.title": "فرق الوكلاء التي تنمو معك",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Въведете потребителско име с букви, цифри или долни черти",
"profile.usernameRequired": "Потребителското име не може да бъде празно",
"profile.usernameRule": "Потребителското име може да съдържа само букви, цифри или долни черти",
"profile.usernameTooLong": "Потребителското име не може да надвишава 64 символа",
"profile.usernameUpdateFailed": "Неуспешна актуализация на потребителското име, моля опитайте отново по-късно",
"signin.subtitle": "Регистрирайте се или влезте в акаунта си в {{appName}}",
"signin.title": "Агентски екипи, които растат заедно с вас",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Benutzernamen mit Buchstaben, Zahlen oder Unterstrichen eingeben",
"profile.usernameRequired": "Benutzername darf nicht leer sein",
"profile.usernameRule": "Benutzername darf nur Buchstaben, Zahlen oder Unterstriche enthalten",
"profile.usernameTooLong": "Der Benutzername darf nicht länger als 64 Zeichen sein",
"profile.usernameUpdateFailed": "Benutzername konnte nicht aktualisiert werden, bitte versuchen Sie es später erneut",
"signin.subtitle": "Registrieren oder anmelden bei Ihrem {{appName}}-Konto",
"signin.title": "Agententeams, die mit Ihnen wachsen",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Enter a username with letters, numbers, or underscores",
"profile.usernameRequired": "Username cannot be empty",
"profile.usernameRule": "Username can only contain letters, numbers, or underscores",
"profile.usernameTooLong": "Username cannot exceed 64 characters",
"profile.usernameUpdateFailed": "Failed to update username, please try again later",
"signin.subtitle": "Sign up or log in to your {{appName}} account",
"signin.title": "Agent teammates that grow with you",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Ingrese un nombre de usuario con letras, números o guiones bajos",
"profile.usernameRequired": "El nombre de usuario no puede estar vacío",
"profile.usernameRule": "El nombre de usuario solo puede contener letras, números o guiones bajos",
"profile.usernameTooLong": "El nombre de usuario no puede exceder los 64 caracteres",
"profile.usernameUpdateFailed": "Error al actualizar el nombre de usuario, intente más tarde",
"signin.subtitle": "Regístrese o inicie sesión en su cuenta de {{appName}}",
"signin.title": "Equipos de agentes que crecen contigo",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "نام کاربری شامل حروف، اعداد یا زیرخط وارد کنید",
"profile.usernameRequired": "نام کاربری نمی‌تواند خالی باشد",
"profile.usernameRule": "نام کاربری فقط می‌تواند شامل حروف، اعداد یا زیرخط باشد",
"profile.usernameTooLong": "نام کاربری نمی‌تواند بیش از ۶۴ کاراکتر باشد",
"profile.usernameUpdateFailed": "به‌روزرسانی نام کاربری ناموفق بود، لطفاً بعداً دوباره تلاش کنید",
"signin.subtitle": "برای ورود یا ثبت‌نام در حساب {{appName}}",
"signin.title": "تیم‌های نمایندگی که همراه با شما رشد می‌کنند",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Saisissez un nom d'utilisateur avec lettres, chiffres ou tirets bas",
"profile.usernameRequired": "Le nom d'utilisateur ne peut pas être vide",
"profile.usernameRule": "Le nom d'utilisateur ne peut contenir que des lettres, chiffres ou tirets bas",
"profile.usernameTooLong": "Le nom d'utilisateur ne peut pas dépasser 64 caractères",
"profile.usernameUpdateFailed": "Échec de la mise à jour du nom d'utilisateur, veuillez réessayer plus tard",
"signin.subtitle": "Inscrivez-vous ou connectez-vous à votre compte {{appName}}",
"signin.title": "Des équipes dagents qui évoluent avec vous",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Inserisci un nome utente con lettere, numeri o underscore",
"profile.usernameRequired": "Il nome utente non può essere vuoto",
"profile.usernameRule": "Il nome utente può contenere solo lettere, numeri o underscore",
"profile.usernameTooLong": "Il nome utente non può superare i 64 caratteri",
"profile.usernameUpdateFailed": "Aggiornamento nome utente non riuscito, riprova più tardi",
"signin.subtitle": "Registrati o accedi al tuo account {{appName}}",
"signin.title": "Team di agenti che crescono con te",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "英字、数字、またはアンダースコアで構成されたユーザー名を入力してください",
"profile.usernameRequired": "ユーザー名は必須です",
"profile.usernameRule": "ユーザー名は英字、数字、またはアンダースコアのみ使用できます",
"profile.usernameTooLong": "ユーザー名は 64 文字を超えることはできません",
"profile.usernameUpdateFailed": "ユーザー名の更新に失敗しました。しばらくしてから再試行してください",
"signin.subtitle": "{{appName}} アカウントに登録またはログインする",
"signin.title": "あなたと共に成長するエージェントチーム",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "영문자, 숫자 또는 밑줄(_)로 구성된 사용자 이름을 입력하세요",
"profile.usernameRequired": "사용자 이름은 필수 항목입니다",
"profile.usernameRule": "사용자 이름은 영문자, 숫자 또는 밑줄(_)만 사용할 수 있습니다",
"profile.usernameTooLong": "사용자 이름은 64자를 초과할 수 없습니다",
"profile.usernameUpdateFailed": "사용자 이름 업데이트에 실패했습니다. 잠시 후 다시 시도해 주세요",
"signin.subtitle": "{{appName}} 계정에 가입하거나 로그인하세요",
"signin.title": "함께 성장하는 에이전트 팀",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Voer een gebruikersnaam in met letters, cijfers of underscores",
"profile.usernameRequired": "Gebruikersnaam mag niet leeg zijn",
"profile.usernameRule": "Gebruikersnaam mag alleen letters, cijfers of underscores bevatten",
"profile.usernameTooLong": "Gebruikersnaam mag niet langer zijn dan 64 tekens",
"profile.usernameUpdateFailed": "Bijwerken van gebruikersnaam mislukt, probeer het later opnieuw",
"signin.subtitle": "Registreer of log in op je {{appName}}-account",
"signin.title": "Agententeams die met je meegroeien",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Wprowadź nazwę użytkownika z literami, cyframi lub podkreśleniami",
"profile.usernameRequired": "Nazwa użytkownika nie może być pusta",
"profile.usernameRule": "Nazwa użytkownika może zawierać tylko litery, cyfry lub podkreślenia",
"profile.usernameTooLong": "Nazwa użytkownika nie może przekraczać 64 znaków",
"profile.usernameUpdateFailed": "Nie udało się zaktualizować nazwy użytkownika, spróbuj ponownie później",
"signin.subtitle": "Zarejestruj się lub zaloguj do swojego konta {{appName}}",
"signin.title": "Zespoły agentów, które rosną razem z Tobą",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Digite um nome de usuário com letras, números ou sublinhados",
"profile.usernameRequired": "Nome de usuário não pode estar vazio",
"profile.usernameRule": "O nome de usuário pode conter apenas letras, números ou sublinhados",
"profile.usernameTooLong": "O nome de usuário não pode exceder 64 caracteres",
"profile.usernameUpdateFailed": "Falha ao atualizar nome de usuário, tente novamente mais tarde",
"signin.subtitle": "Cadastre-se ou entre na sua conta {{appName}}",
"signin.title": "Equipes de agentes que crescem com você",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Введите имя с буквами, цифрами или подчёркиванием",
"profile.usernameRequired": "Имя пользователя не может быть пустым",
"profile.usernameRule": "Имя пользователя может содержать только буквы, цифры или подчёркивания",
"profile.usernameTooLong": "Имя пользователя не может превышать 64 символа",
"profile.usernameUpdateFailed": "Не удалось обновить имя пользователя, попробуйте позже",
"signin.subtitle": "Зарегистрируйтесь или войдите в аккаунт {{appName}}",
"signin.title": "Команды агентов, растущие вместе с вами",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Harf, rakam veya alt çizgi içeren bir kullanıcı adı girin",
"profile.usernameRequired": "Kullanıcı adı boş bırakılamaz",
"profile.usernameRule": "Kullanıcı adı yalnızca harf, rakam veya alt çizgi içerebilir",
"profile.usernameTooLong": "Kullanıcı adı 64 karakterden uzun olamaz",
"profile.usernameUpdateFailed": "Kullanıcı adı güncellenemedi, lütfen daha sonra tekrar deneyin",
"signin.subtitle": "{{appName}} hesabınıza giriş yapın veya kayıt olun",
"signin.title": "Sizinle birlikte büyüyen temsilci ekipleri",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "Nhập tên người dùng gồm chữ, số hoặc dấu gạch dưới",
"profile.usernameRequired": "Tên người dùng không được để trống",
"profile.usernameRule": "Tên người dùng chỉ được chứa chữ, số hoặc dấu gạch dưới",
"profile.usernameTooLong": "Tên người dùng không được vượt quá 64 ký tự",
"profile.usernameUpdateFailed": "Cập nhật tên người dùng thất bại, vui lòng thử lại sau",
"signin.subtitle": "Đăng ký hoặc đăng nhập vào tài khoản {{appName}} của bạn",
"signin.title": "Đội ngũ đại lý phát triển cùng bạn",

View file

@ -196,6 +196,7 @@
"profile.usernamePlaceholder": "請輸入由字母、數字或底線組成的使用者名稱",
"profile.usernameRequired": "使用者名稱不能為空",
"profile.usernameRule": "使用者名稱僅支援字母、數字或底線",
"profile.usernameTooLong": "用戶名不能超過 64 個字元",
"profile.usernameUpdateFailed": "更新使用者名稱失敗,請稍後再試",
"signin.subtitle": "註冊或登入你的 {{appName}} 帳號",
"signin.title": "與您一同成長的代理團隊",