-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuk-UA.toml
More file actions
138 lines (128 loc) · 12.7 KB
/
Copy pathuk-UA.toml
File metadata and controls
138 lines (128 loc) · 12.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
locale_id = "uk-UA"
[nav]
help = "Допомога"
docs = "Документація"
terms = "Умови"
privacy = "Приватність"
repository = "Репозиторій"
rust_crate = "Rust crate"
[language]
selector_label = "Мова"
[hero]
eyebrow = "hashavatar.app"
title = "Створіть публічний avatar за секунди"
description = "Перетворіть будь-який непрозорий user id, стабільне ім'я користувача або односторонній хеш на детермінований URL аватара. Виберіть стиль, фон і розмір, потім скопіюйте WebP URL, завантажте результат або створіть підписане посилання на object storage."
privacy_tip = "Порада щодо приватності: ідентифікатори у формі email приймаються для зручності, але стабільний внутрішній id або односторонній хеш кращі, якщо ви хочете менше персональних даних у URL logs."
[form]
identity = "Ідентифікатор"
namespace_tenant = "Namespace tenant"
style_version = "Версія стилю"
avatar_type = "Тип аватара"
background = "Фон"
accessory = "Аксесуар"
accent_color = "Акцентний колір"
expression = "Вираз"
shape = "Форма"
size = "Розмір"
copy_url = "Скопіювати URL"
copy_signed_link = "Скопіювати підписане посилання"
download = "Завантажити"
open_raw = "Відкрити напряму"
copied = "Скопійовано"
copy_failed = "Не вдалося скопіювати"
direct_url = "Прямий URL"
signed_storage_link = "Підписане посилання сховища"
machine_readable_api = "Машинозчитуваний API"
signed_unavailable = "Увімкніть S3-конфігурацію на сервері, щоб використовувати підписані посилання."
signed_unavailable_runtime = "Підписані посилання сховища недоступні, доки S3 не налаштовано на сервері."
[preview]
api = "API"
storage = "Сховище"
storage_text = "опційна S3-персистентність із presigned links через"
cache = "Кеш"
cache_text = "довгострокові cache headers, дружні до Cloudflare"
tip = "Порада"
tip_text = "Кожен URL детермінований, тому його можна вставити прямо у ваш застосунок."
presets = "Приклади пресетів"
preset_suffix = "пресет"
[footer]
copy = "hashavatar.app — це детермінований avatar API і demo-сервіс, побудований на open-source Rust crate hashavatar."
[pages.help]
title = "Допомога"
description = "Гід з інтеграції avatar API hashavatar.app у web apps, frontends і backends."
eyebrow = "Гід з інтеграції"
lead = "Використовуйте hashavatar.app напряму з браузера, frontend або backend. Кожен URL аватара детермінований, тому той самий ідентифікатор і опції завжди дають той самий результат."
basic_url = "Базовий URL"
basic_url_text = "Використовуйте query endpoint, коли потрібен простий публічний URL зображення."
path_style = "URL у path-формі"
path_style_text = "Використовуйте path-форму, якщо хочете чистіші embed URLs."
html_example = "HTML-приклад"
javascript_example = "JavaScript-приклад"
supported_parameters = "Підтримувані параметри"
style_layer_note = "Шари аксесуарів і виразів застосовуються до персонажних сімейств. Об'єктні сімейства на кшталт planet, rocket, paws, mushroom, cactus, cupcake, pizza, icecream, diamond, coffee-cup і shield нормалізуються до accessory=none і expression=default."
signed_storage_links = "Підписані посилання сховища"
signed_storage_links_text = "Якщо в цьому deployment налаштовано object storage, запитайте presigned storage link через /v1/avatar/link. Endpoint зберігає згенерований object і повертає JSON із signed URL, object key і hashed cache key. Standard avatar responses не розкривають signed-link metadata у response headers."
open_source = "Open source"
open_source_text = "Код публічного сайту знаходиться в API repository, а reusable avatar renderer опубліковано на crates.io."
[pages.docs]
title = "Документація"
description = "Довідкова документація для public avatar API hashavatar.app, storage link endpoint і namespace-aware identity contract."
eyebrow = "API reference"
lead = "Це product-facing reference для public API. Однакові identity, tenant, style version, avatar family, style options, size і WebP output мають залишатися стабільними в межах major version."
core_endpoints = "Core endpoints"
operational_endpoints = "Operational endpoints"
operational_text = "GET /healthz публічний для load balancers і uptime checks. GET /metrics доступний лише через loopback і повертає 404 для non-local peers."
namespace_support = "Підтримка namespace"
namespace_text = "Використовуйте tenant і style_version, щоб розділяти візуальні identity spaces між продуктами або rollout phases."
anonymous_ids = "Анонімні ID"
anonymous_text = "Надсилайте стабільний internal id або one-way application hash замість сирих персональних даних."
rate_limits = "Rate limits"
rate_limits_text = "Public service застосовує origin-side rate limits, із суворішими limits для /v1/avatar/link, direct avatar requests із persist=true і /og.png, бо object storage writes і Open Graph rendering дорожчі за direct rendering."
timeouts = "Timeouts"
timeouts_text = "Avatar generation і storage operations обмежені server-side timeouts, щоб expensive requests не могли нескінченно займати origin."
errors = "Помилки"
error_bad_request = "некоректний kind, непідтримуваний algorithm або format, size або відсутній identity"
error_timeout = "generation або storage timeout"
error_rate_limit = "rate limit перевищено"
error_internal = "rendering або storage failure"
openapi = "OpenAPI"
openapi_text = "Для generated clients або tooling використовуйте"
[pages.terms]
title = "Умови"
description = "Best-effort service terms для public avatar API hashavatar.app і demo website."
eyebrow = "Умови сервісу"
lead = "Цей публічний сервіс надається з інформаційною метою та на best-effort основі. Використовуйте його лише якщо такий risk profile підходить вашому застосунку."
no_warranty = "Без гарантій"
no_warranty_text = "Цей сервіс і всі generated outputs надаються as-is і as-available, без жодних гарантій, явних чи неявних. Ми не обіцяємо availability, correctness, fitness for a particular purpose, uninterrupted operation або compatibility with your systems."
no_liability = "Без відповідальності"
no_liability_text = "Ми не відповідаємо за downtime, outages, degraded performance, broken links, cache behavior, lost data, corrupted objects, third-party provider failures або прямі чи непрямі damages, що виникають через використання сервісу."
fallback_text = "Якщо ви залежите від цих аватарів у production, реалізуйте власні fallback behavior, caching strategy і availability plan."
acceptable_use = "Acceptable use"
acceptable_use_text = "Не використовуйте сервіс для перевантаження infrastructure, обходу rate limits або cache controls, тестування abusive traffic patterns або зберігання illegal material через persistence features."
changes = "Зміни"
changes_text = "Ми можемо змінити, обмежити, призупинити або припинити public service будь-коли й без повідомлення. Public endpoints, output details або operational limits можуть змінюватися з розвитком сервісу."
legal_note = "Ця сторінка — operational guidance, а не legal advice. Якщо вам потрібні formal legal terms для business deployment, опублікуйте reviewed version для вашої jurisdiction і operator entity."
[pages.privacy]
title = "Приватність"
description = "Privacy notice hashavatar.app щодо request data, logs і optional object storage behavior."
eyebrow = "Privacy notice"
lead = "Сервіс навмисно простий, але public avatar API все одно отримує певні request data, щоб працювати. Ця сторінка описує практичний baseline."
receives = "Що отримує сервіс"
receives_identity = "opaque identifier, який ви ставите в request, наприклад internal id, username або one-way hash"
receives_parameters = "request parameters, як-от avatar type, style options, size, format і background"
receives_http_metadata = "standard HTTP metadata, які обробляють server, reverse proxy і CDN, як-от IP address, user agent, referrer і request timing"
stores = "Що зберігає сам застосунок"
stores_text = "Application не вимагає user accounts і за замовчуванням не ставить application cookies. У basic request flow він генерує avatar on demand і повертає його напряму."
storage_text = "Якщо object storage support увімкнено й використовується signed-link або persistence route, generated avatar file і його object key можуть зберігатися в налаштованому S3-compatible bucket."
telemetry = "Privacy-preserving telemetry"
telemetry_text = "Якщо operator вмикає telemetry, застосунок надсилає aggregate OpenTelemetry metrics для page views, visible page time, repository і crate clicks, demo actions, а також avatar generation counts, згрупованих за bounded style choices, як-от kind, background, accessory, color, expression, shape і size bucket."
telemetry_limits = "Telemetry не містить raw identifiers, tenant або style namespace values, IP addresses, user agents, referrers, full URLs, cookies або free-form text. Telemetry endpoints приймають лише allow-listed aggregate labels."
logging = "Logs та інфраструктура"
logging_text = "Залежно від deployment, infrastructure components на кшталт nginx, Caddy, Cloudflare, hosting providers або S3-compatible storage можуть зберігати access logs і operational metadata. Ці logs є частиною роботи public service і можуть містити requested identifier, якщо він є в URL."
avoid = "Що краще не надсилати"
avoid_text = "Email-shaped identifiers accepted для compatibility, але URLs можуть з'являтися в infrastructure logs. Надсилайте stable internal id або one-way application hash, якщо хочете уникнути personal data в request URL."
repository = "Repository і crate"
repository_text = "Ви можете переглянути implementation у public API repository і reusable avatar renderer у Rust crate."
translations = "Примітка щодо перекладів"
translations_text = "Переклади сайту виконані за допомогою ШІ та на основі найкращих зусиль. Якщо ви бачите формулювання, яке варто покращити, внески на GitHub вітаються."
translations_link = "Покращити переклади"