Files
pipu-music/packages/i18n/locales/en/errors.json
T
mrleo1nidandClaude Opus 5.5 f66be2ba0a
ci / api / api (push) Successful in 33s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 43s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m11s
ci / ts / ts (packages + web) (push) Successful in 1m10s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 51s
feat: storage writes via storage-agent, accepts_uploads and write_template (M5.5)
- storage-agent: POST /internal/files copies a staged file into a source
  (temp file, fsync, SHA-256 check, hard link so nothing is overwritten,
  " (2)" suffix on conflict, owner PIPU_FILE_UID/GID) and
  POST /internal/files/test. NFS sources that accept uploads are mounted
  rw in an agent-only /library-rw and bind-mounted read-only for others;
  local sources are written through /library-host-rw.
- meta: write templates ({track:02}, {disc:1-}, [optional]) with name
  sanitising and length limits, suggestion from the source's regexes
  and a reversibility check against 50 catalogue tracks.
- API and admin UI: accepts_uploads / write_template on sources,
  write-template suggest and check endpoints, write test result.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 13:46:56 +03:00

81 lines
3.7 KiB
JSON

{
"common": {
"internal": "Something went wrong on the server. Please try again",
"bad_request": "Invalid request",
"not_found": "Not found",
"method_not_allowed": "This action is not supported",
"network": "Cannot reach the server. Check your network"
},
"auth": {
"invalid_credentials": "Wrong username or password",
"too_many_attempts": "Too many sign-in attempts. Please wait a bit",
"user_blocked": "This account is blocked. Contact your administrator",
"unauthorized": "Sign in to continue",
"token_expired": "Your session has expired, please sign in again",
"token_invalid": "Your session is invalid, please sign in again",
"token_revoked": "Your session has ended, please sign in again",
"refresh_invalid": "Your session has ended, please sign in again",
"refresh_reused": "Your session was ended for security reasons, please sign in again",
"refresh_race": "Your session is being refreshed, please retry",
"credentials_change_required": "Change the administrator username and password first",
"password_change_required": "Change your temporary password first",
"current_password_required": "Enter your current password",
"current_password_invalid": "The current password is wrong",
"bootstrap_not_required": "The administrator credentials have already been changed",
"session_not_found": "Session not found",
"forbidden": "You don't have permission to do this"
},
"validation": {
"password_too_short": "The password must be at least {{min}} characters",
"password_too_long": "The password must be at most {{max}} characters",
"password_same_as_username": "The password must not match the username",
"password_too_common": "This password is too common — choose another one",
"password_unchanged": "The new password must differ from the current one",
"username_invalid": "Username: {{min}} to {{max}} characters — Latin letters, digits, \".\", \"_\", \"-\"",
"username_taken": "This username is already taken",
"locale_unsupported": "This language is not supported",
"display_name_too_long": "The name must be at most {{max}} characters",
"ui_prefs_invalid": "Invalid setting value",
"client_type_invalid": "Unknown app type",
"role_invalid": "Unknown role",
"cursor_invalid": "The list is outdated, please reload",
"pattern_invalid": "Pattern error: {{reason}}",
"nfs_invalid": "Invalid value",
"local_path_invalid": "Folder not found",
"name_invalid": "The name must be 1 to {{max}} characters",
"scan_interval_invalid": "The interval must be at least {{min}} minutes",
"source_type_invalid": "Unknown storage type",
"query_empty": "Enter a query",
"wave_activity_invalid": "Unknown activity",
"wave_mood_invalid": "Unknown mood",
"template_invalid": "Invalid path template: {{reason}}"
},
"users": {
"not_found": "User not found",
"last_admin": "The last administrator cannot be demoted, blocked or deleted"
},
"library": {
"source_not_found": "Storage not found",
"scan_running": "A scan is already running",
"source_offline": "The storage is not connected",
"template_unavailable": "Could not suggest a template: no storage pattern converts to a template, or the storage has no files"
},
"catalog": {
"not_found": "Not found"
},
"search": {
"unavailable": "Search is temporarily unavailable"
},
"playback": {
"link_invalid": "The link has expired — reload the page",
"track_unavailable": "Track is unavailable",
"transcode_failed": "Could not prepare the track"
},
"wave": {
"session_not_found": "The wave session has ended"
},
"app": {
"update_unavailable": "Update is unavailable"
}
}