/
/
/
1{
2 "config_entries": {
3 "wave_preset_section_label": {
4 "label": "My Wave presets"
5 },
6 "wave_preset_section_saved": {
7 "label": "My Wave presets ({0} saved)"
8 },
9 "wave_preset_draft_name": {
10 "label": "New preset name",
11 "description": "Give the preset a short name, pick up to three dropdowns below and click Save. Saving the same name again overwrites."
12 },
13 "wave_preset_draft_diversity": {
14 "label": "New preset: diversity",
15 "description": "How broadly the wave explores."
16 },
17 "wave_preset_draft_mood": {
18 "label": "New preset: mood",
19 "description": "Energy and mood of the tracks."
20 },
21 "wave_preset_draft_language": {
22 "label": "New preset: language",
23 "description": "Lyrics language filter."
24 },
25 "save_wave_preset": {
26 "label": "Save preset",
27 "description": "Adds the values above to Saved presets. The list is shown under Radio then My Presets in Browse.",
28 "action_label": "Save preset"
29 },
30 "wave_preset_to_delete": {
31 "label": "Select preset to delete",
32 "options": {
33 "": "(no presets saved)"
34 }
35 },
36 "delete_wave_preset": {
37 "label": "Delete selected preset",
38 "description": "Removes the selected preset from the Saved presets list.",
39 "action_label": "Delete"
40 },
41 "wave_presets_data": {
42 "label": "Saved presets (internal)"
43 },
44 "method": {
45 "label": "Login method",
46 "description": "Sign in by scanning a QR code, with a short device code, or by entering an existing Yandex Music token manually.",
47 "options": {
48 "device": "Device code",
49 "qr": "QR code",
50 "token": "Token (manual)"
51 }
52 },
53 "token": {
54 "label": "Yandex Music token",
55 "description": "Enter an existing Yandex Music token. A manually supplied token cannot refresh automatically when it expires."
56 },
57 "remember_session": {
58 "label": "Remember session (auto-refresh token)",
59 "description": "When enabled, stores a long-lived session token to automatically refresh your music token when it expires. When disabled, you must re-authenticate manually when the token expires."
60 },
61 "manual_token": {
62 "label": "Replace Yandex Music token",
63 "description": "Optional one-time replacement. Leave empty to keep the current token. The new token is validated when you save, then moved to encrypted authentication storage and removed from this field. To run QR or Device Code login again, open the provider menu and select Reconfigure."
64 },
65 "quality": {
66 "label": "Audio quality",
67 "description": "Select preferred audio quality.",
68 "options": {
69 "efficient": "Efficient (AAC ~64kbps)",
70 "balanced": "Balanced (AAC ~192kbps)",
71 "high": "High (MP3 ~320kbps)",
72 "superb": "Superb (FLAC Lossless)"
73 }
74 },
75 "my_wave_max_tracks": {
76 "label": "My Wave maximum tracks",
77 "description": "Maximum number of tracks to fetch for My Wave playlist. Lower values load faster but provide fewer tracks. Default: 150."
78 },
79 "liked_tracks_max_tracks": {
80 "label": "Liked Tracks maximum tracks",
81 "description": "Maximum number of tracks to show in Liked Tracks virtual playlist. Higher values may significantly increase load time and risk triggering Yandex smart-captcha. Lower values load faster. Default: 200."
82 },
83 "base_url": {
84 "label": "API Base URL",
85 "description": "API endpoint base URL. Only change if Yandex Music changes their API endpoint. Default: {0}"
86 },
87 "restrictive_rate_limits": {
88 "label": "Restrictive rate limits (datacenter / VPN safe mode)",
89 "description": "Enable when Music Assistant runs on a VPS, NAS-behind-VPN, or any datacenter IP. Caps total in-flight requests to Yandex below the edge concurrency limit observed for those IPs (~6 simultaneous), trading some browse / recommendations responsiveness for fewer captcha trips. Residential users do not need this â Yandex tolerates much higher concurrency from regular ISPs."
90 }
91 },
92 "setup_flow": {
93 "user": {
94 "title": "Log in to Yandex Music",
95 "description": "Choose a login method and whether to keep the session so tokens refresh automatically."
96 },
97 "scan_qr": {
98 "title": "Scan to sign in",
99 "description": "Scan the QR code with the Yandex app and confirm the login. A fresh code is shown automatically if it expires.",
100 "progress_text": "Waiting for you to scan and confirm in the Yandex app..."
101 },
102 "device_login": {
103 "title": "Enter the code",
104 "description": "Open the address shown in the yellow card in a browser, then enter the large code. A fresh code is shown automatically if it expires.",
105 "progress_text": "Waiting for you to enter the code on the verification page..."
106 },
107 "token_login": {
108 "title": "Enter Yandex Music token",
109 "description": "Paste an existing Yandex Music token. The token is validated before the provider is saved."
110 },
111 "abort": {
112 "login_denied": "The login request was denied in the Yandex app."
113 }
114 },
115 "errors": {
116 "no_music_token": "Login succeeded but Yandex returned no music token. Please try again."
117 },
118 "media": {
119 "folder": {
120 "my_wave": {
121 "name": "My Wave"
122 },
123 "my_wave_modes": {
124 "name": "Wave Modes"
125 },
126 "my_wave_presets": {
127 "name": "My Presets"
128 },
129 "for_you": {
130 "name": "For You"
131 },
132 "collection": {
133 "name": "Collection"
134 },
135 "radio": {
136 "name": "Radio"
137 },
138 "my_waves_set": {
139 "name": "AI Wave Sets"
140 },
141 "pinned": {
142 "name": "Pinned"
143 },
144 "history": {
145 "name": "Listening History"
146 },
147 "picks": {
148 "name": "Picks"
149 },
150 "mixes": {
151 "name": "Mixes"
152 },
153 "my_favorites": {
154 "name": "My Favorites"
155 },
156 "my_artists": {
157 "name": "My Artists"
158 },
159 "my_albums": {
160 "name": "My Albums"
161 },
162 "my_playlists": {
163 "name": "My Playlists"
164 },
165 "my_podcasts": {
166 "name": "My Podcasts"
167 },
168 "my_audiobooks": {
169 "name": "My Audiobooks"
170 },
171 "my_waves": {
172 "name": "Personal"
173 },
174 "waves_landing": {
175 "name": "Featured Waves"
176 },
177 "mood": {
178 "name": "Mood"
179 },
180 "activity": {
181 "name": "Activity"
182 },
183 "era": {
184 "name": "Era"
185 },
186 "genres": {
187 "name": "Genres"
188 },
189 "genre": {
190 "name": "Genres"
191 },
192 "epoch": {
193 "name": "Era"
194 },
195 "local": {
196 "name": "Local"
197 },
198 "wave_mode_discover": {
199 "name": "Discover"
200 },
201 "wave_mode_favorite": {
202 "name": "Favorites"
203 },
204 "wave_mode_popular": {
205 "name": "Popular"
206 },
207 "wave_mode_calm": {
208 "name": "Calm"
209 },
210 "wave_mode_active": {
211 "name": "Active"
212 },
213 "wave_mode_fun": {
214 "name": "Fun"
215 },
216 "wave_mode_sad": {
217 "name": "Sad"
218 },
219 "wave_mode_russian": {
220 "name": "Russian"
221 },
222 "wave_mode_not_russian": {
223 "name": "Non-Russian"
224 },
225 "wave_mode_without_words": {
226 "name": "Without Words"
227 },
228 "chill": {
229 "name": "[%key:common::media::folder::chill::name%]"
230 },
231 "sad": {
232 "name": "[%key:common::media::folder::sad::name%]"
233 },
234 "romantic": {
235 "name": "[%key:common::media::folder::romantic::name%]"
236 },
237 "party": {
238 "name": "[%key:common::media::folder::party::name%]"
239 },
240 "relax": {
241 "name": "[%key:common::media::folder::relax::name%]"
242 },
243 "in_the_mood": {
244 "name": "[%key:common::media::folder::in_the_mood::name%]"
245 },
246 "workout": {
247 "name": "[%key:common::media::folder::workout::name%]"
248 },
249 "focus": {
250 "name": "[%key:common::media::folder::focus::name%]"
251 },
252 "morning": {
253 "name": "[%key:common::media::folder::morning::name%]"
254 },
255 "evening": {
256 "name": "[%key:common::media::folder::evening::name%]"
257 },
258 "driving": {
259 "name": "[%key:common::media::folder::driving::name%]"
260 },
261 "background": {
262 "name": "[%key:common::media::folder::background::name%]"
263 },
264 "80s": {
265 "name": "[%key:common::media::folder::80s::name%]"
266 },
267 "90s": {
268 "name": "[%key:common::media::folder::90s::name%]"
269 },
270 "2000s": {
271 "name": "[%key:common::media::folder::2000s::name%]"
272 },
273 "retro": {
274 "name": "[%key:common::media::folder::retro::name%]"
275 },
276 "rock": {
277 "name": "[%key:common::media::folder::rock::name%]"
278 },
279 "jazz": {
280 "name": "[%key:common::media::folder::jazz::name%]"
281 },
282 "classical": {
283 "name": "[%key:common::media::folder::classical::name%]"
284 },
285 "electronic": {
286 "name": "[%key:common::media::folder::electronic::name%]"
287 },
288 "rnb": {
289 "name": "[%key:common::media::folder::rnb::name%]"
290 },
291 "hiphop": {
292 "name": "[%key:common::media::folder::hiphop::name%]"
293 },
294 "top": {
295 "name": "Top"
296 },
297 "newbies": {
298 "name": "By Genre"
299 },
300 "winter": {
301 "name": "[%key:common::media::folder::winter::name%]"
302 },
303 "summer": {
304 "name": "[%key:common::media::folder::summer::name%]"
305 },
306 "autumn": {
307 "name": "[%key:common::media::folder::autumn::name%]"
308 },
309 "spring": {
310 "name": "[%key:common::media::folder::spring::name%]"
311 },
312 "newyear": {
313 "name": "[%key:common::media::folder::newyear::name%]"
314 },
315 "load_more": {
316 "name": "Load more"
317 }
318 },
319 "playlist": {
320 "my_wave": {
321 "name": "My Wave"
322 },
323 "liked_tracks": {
324 "name": "My Favorites"
325 }
326 },
327 "recommendations": {
328 "my_wave": {
329 "name": "My Wave"
330 },
331 "feed": {
332 "name": "Made for You"
333 },
334 "chart": {
335 "name": "Chart"
336 },
337 "new_releases": {
338 "name": "New Releases"
339 },
340 "new_playlists": {
341 "name": "New Playlists"
342 },
343 "top_picks": {
344 "name": "Top Picks"
345 },
346 "mood_mix": {
347 "name": "Mood Mix"
348 },
349 "activity_mix": {
350 "name": "Activity Mix"
351 },
352 "seasonal_mix": {
353 "name": "Seasonal: {0}"
354 }
355 }
356 },
357 "manifest": {
358 "description": "Stream music, personalized recommendations, and lossless FLAC from Yandex Music â including My Wave radio and library sync."
359 }
360}
361