···917917 'main.artist_tracks_controller._' => 'main.artists_controller._',
918918 'main.store_controller._' => 'store._',
919919 'multiplayer.rooms_controller._' => 'main.ranking_controller._',
920920+ 'ranking.daily_challenge_controller._' => 'main.ranking_controller._',
920921 default => $controllerKey,
921922 };
922923 $namespaceKey = "{$currentRoute['namespace']}._";
···18151816}
1816181718171818// formats a number as a percentage with a fixed number of precision
18181818-// e.g.: 98.3 -> 98.30%
18191819+// e.g.: 0.983 -> 98.30%
18191820function format_percentage($number, $precision = 2)
18201821{
18211822 // the formatter assumes decimal number while the function receives percentage number.
18221822- return i18n_number_format($number / 100, NumberFormatter::PERCENT, null, $precision);
18231823+ return i18n_number_format($number, NumberFormatter::PERCENT, null, $precision);
18231824}
1824182518251826// shorthand to return the filename of an open stream/handle
+2-2
bin/run_dusk.sh
···2233if ! pgrep chromedriver > /dev/null; then
44 chromedriver_log=storage/logs/chromedriver.log
55- chromedriver > "$chromedriver_log" 2>&1 &
55+ chromedriver --port=9515 > "$chromedriver_log" 2>&1 &
66 chromedriver_pid=$!
77 # wait for the driver to be ready
88 printf "Waiting for chromedriver to start..."
99 chromedriver_tries=0
1010- while ! grep -qF "ChromeDriver was started successfully." "$chromedriver_log"; do
1010+ while ! grep -qF "ChromeDriver was started successfully on port 9515." "$chromedriver_log"; do
1111 printf .
1212 sleep 1
1313 chromedriver_tries=$(($chromedriver_tries + 1))
···11// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
22// See the LICENCE file in the repository root for full licence text.
3344-import { action, computed, makeObservable, observable } from 'mobx';
44+import { action, makeObservable, observable } from 'mobx';
55import { observer } from 'mobx-react';
66import * as React from 'react';
77import ContestJudgeStore from 'stores/contest-judge-store';
···1717export default class Main extends React.Component<Props> {
1818 @observable private hideJudged = false;
19192020- @computed
2120 private get filteredEntries() {
2221 const entries = [...this.props.store.entries.values()];
2322
···11// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
22// See the LICENCE file in the repository root for full licence text.
3344+import { fail } from 'utils/fail';
45import { htmlElementOrNull } from 'utils/html';
55-66-function fail(message: string): never {
77- throw new Error(message);
88-}
96107function expand(e: JQuery.ClickEvent) {
118 e.stopPropagation();
···11+// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
22+// See the LICENCE file in the repository root for full licence text.
33+44+export function fail(message: string): never {
55+ throw new Error(message);
66+}
+13
resources/js/utils/user.ts
···11+// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
22+// See the LICENCE file in the repository root for full licence text.
33+44+import UserJson from 'interfaces/user-json';
55+import { route } from 'laroute';
66+77+export function apiLookupUsers(idsOrUsernames: (string | null | undefined)[]) {
88+ return $.ajax(route('users.lookup-users'), {
99+ data: { ids: idsOrUsernames },
1010+ dataType: 'json',
1111+ type: 'POST',
1212+ }) as JQuery.jqXHR<{ users: UserJson[] }>;
1313+}
+1
resources/lang/ar/accounts.php
···10101111 'avatar' => [
1212 'title' => 'الصورة الشخصية',
1313+ 'reset' => '',
1314 'rules' => 'يرجى التأكد من ان صورتك تلتزم بـ:link<br/>هذا يعني انه يجب ان تكون <strong>مناسبة لجميع الأعمار</strong>. أي بلا تعري أو الفاظ نابية أو محتوى عنيف.',
1415 'rules_link' => 'قوانين المجتمع',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Аватар',
1313+ 'reset' => '',
1314 'rules' => 'Моля, уверете се че вашият аватар се придържа към :link.<br/>Това означава, че задължително трябва да бъде <strong>подходящ за всички възрасти</strong>. т.е. няма голота, ругатни или внушаващо съдържание.',
1415 'rules_link' => 'обществените правила',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => '',
1314 'rules' => 'Si us plau asseguri\'s que el seu avatar s\'adhereix a :link. <br/> Això vol dir que ha de ser <strong>adequat per a totes les edats</strong>. És a dir, sense nuesa, blasfèmia o contingut suggestiu.',
1415 'rules_link' => 'regles de la comunitat',
1516 ],
+1
resources/lang/ca/beatmapsets.php
···17171818 'download' => [
1919 'limit_exceeded' => 'A poc a poc, juga més.',
2020+ 'no_mirrors' => '',
2021 ],
21222223 'featured_artist_badge' => [
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'resetovat',
1314 'rules' => 'Ujisti se prosím, že tvůj avatar dodržuje :link.<br/>To znamená, že musí být <strong>vhodný pro všechny věkové kategorie</strong>. Tj. žádná nahota, žádný urážlivý či sugestivní obsah.',
1415 'rules_link' => 'kritéria vizuálního obsahu',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Profilbillede',
1313+ 'reset' => '',
1314 'rules' => 'Vær sikker på at din avatar overholder :link.<br/>Dette betyder at den skal være <strong>passende for alle aldre</strong>. Det betyder ingen nøgenhed, skælsord eller suggestivt indhold.',
1415 'rules_link' => 'fællesskabs-reglerne',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'Zurücksetzen',
1314 'rules' => 'Bitte stelle sicher, dass sich dein Avatar an :link hält.<br/>Das heißt, er muss <strong>für alle Altersklassen geeignet</strong> sein und darf keine Nacktheit oder anstößigen Inhalte enthalten.',
1415 'rules_link' => 'die Community-Regeln',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => '',
1314 'rules' => 'Παρακαλώ βεβαιωθείτε ότι το avatar σας συμφωνεί με :link. <br/>Αυτό σημαίνει ότι πρέπει να είναι <strong>κατάλληλο για όλες τις ηλικές</strong>.',
1415 'rules_link' => 'τους κανόνες κοινότητας',
1516 ],
···8181 'beatmapset_disqualify' => 'receive notifications for when beatmaps of the following modes are disqualified',
8282 'comment_reply' => 'receive notifications for replies to your comments',
8383 'title' => 'Notifications',
8484- 'topic_auto_subscribe' => 'automatically enable notifications on new forum topics that you create',
8484+ 'topic_auto_subscribe' => 'automatically enable notifications on new forum topics that you create or replied to',
85858686 'options' => [
8787 '_' => 'delivery options',
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'restablecer',
1314 'rules' => 'Por favor, asegúrate de que tu avatar se adhiera a :link.<br/>Esto significa que debe ser <strong>adecuado para todas las edades</strong>. Es decir, sin desnudos, contenido ofensivo o sugerente.',
1415 'rules_link' => 'las consideraciones de contenido visual',
1516 ],
+1
resources/lang/es-419/beatmapsets.php
···17171818 'download' => [
1919 'limit_exceeded' => 'Más despacio, juega un poco.',
2020+ 'no_mirrors' => 'No hay servidores de descarga disponibles.',
2021 ],
21222223 'featured_artist_badge' => [
+1
resources/lang/es-419/contest.php
···1414 ],
15151616 'judge' => [
1717+ 'comments' => 'comentarios',
1718 'hide_judged' => 'ocultar las inscripciones evaluadas',
1819 'nav_title' => 'evaluar',
1920 'no_current_vote' => 'aún no has votado.',
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'restablecer',
1314 'rules' => 'Por favor, asegúrate de que tu avatar se adhiera a :link.<br/>Esto significa que debe ser <strong>adecuado para todas las edades</strong>. Es decir, sin desnudez, contenido ofensivo o sugerente.',
1415 'rules_link' => 'las consideraciones de contenido visual',
1516 ],
+1
resources/lang/es/beatmapsets.php
···17171818 'download' => [
1919 'limit_exceeded' => 'Más despacio, juega un poco.',
2020+ 'no_mirrors' => 'No hay servidores de descarga disponibles.',
2021 ],
21222223 'featured_artist_badge' => [
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'nollaa',
1314 'rules' => 'Pidäthän huolen, että profiilikuvasi noudattaa :link.<br/>Tämä tarkoittaa sitä, että sen on <strong>sovittava kaikenikäisille</strong>, eli ei alastomuutta tai muita hävyttömyyksiä.',
1415 'rules_link' => 'yhteisön sääntöjä',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => '',
1314 'rules' => 'Pakitiyak na ang iyong avatar ay sumusunod sa :link.<br/>Nangangahulugan ito na dapat ay <strong>angkop para sa lahat ng edad</strong>. i.e. walang kahubaran, kabastusan, o nagpapahiwatig na nilalaman.',
1415 'rules_link' => 'ang patakaran ng komunidad
1516
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'réinitialiser',
1314 'rules' => 'Veuillez vous assurer que votre avatar correspond aux :link.<br/>Cela signifie qu\'il doit être <strong>adapté à tous les âges</strong>. C\'est-à-dire pas de nudité, de profanation ou de contenu suggestif.',
1415 'rules_link' => 'Considérations relatives au contenu visuel',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'תמונת פרופיל',
1313+ 'reset' => '',
1314 'rules' => 'אנא וודא שהתמונה שלך קשורה ל :link<br/>זה אומר שזה צריך להיות <strong> מתאים לכל הגילים</strong> ובלי תוכן לא נעות, שפה לא נעותה או תוכן מרמז.',
1415 'rules_link' => 'חוקי הקהילה',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => '',
1314 'rules' => 'Provjeri da li je tvoj avatar u skladu s :link.<br/>To znači da mora biti <strong>prikladno za sve uzraste</strong>. tj. bez golotinje, vulgarnosti ili sugestivnog sadržaja.',
1415 'rules_link' => 'pravilima zajednice',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Avatár',
1313+ 'reset' => '',
1314 'rules' => 'Kérjük, ellenőrizze, hogy az avatár illeszkedik-e ehhez :link.<br/>Ez azt jelenti, hogy <strong>minden korosztály számára alkalmasnak kell lennie</strong>. Vagyis nincs meztelenség, mások számára elfogadhatatlan vagy szuggesztív tartalom.',
1415 'rules_link' => 'a közösségi szabályok',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'atur ulang',
1314 'rules' => 'Pastikan avatarmu tunduk pada :link yang berlaku.<br/>Dengan kata lain, avatarmu harus <strong>cocok untuk segala usia</strong> tanpa mengandung unsur apa pun yang tidak dibenarkan seperti cacian, hinaan, atau hal yang bersifat sugestif.',
1414- 'rules_link' => 'peraturan komunitas',
1515+ 'rules_link' => 'Pertimbangan konten visual',
1516 ],
16171718 'email' => [
···102103 ],
103104104105 'options' => [
105105- 'beatmapset_show_nsfw' => 'nonaktifkan peringatan untuk beatmap berkonten eksplisit',
106106+ 'beatmapset_show_nsfw' => 'sembunyikan peringatan untuk konten eksplisit pada beatmap',
106107 'beatmapset_title_show_original' => 'tampilkan metadata beatmap dalam bahasa aslinya',
107108 'title' => 'Pengaturan',
108109···131132 'security' => [
132133 'current_session' => 'saat ini',
133134 'end_session' => 'Akhiri Sesi',
134134- 'end_session_confirmation' => 'Tindakan ini akan secara otomatis mengakhiri sesimu pada perangkat yang bersangkutan. Apakah kamu yakin?',
135135+ 'end_session_confirmation' => 'Tindakan ini akan mengakhiri sesimu pada perangkat yang bersangkutan dengan segera. Apakah kamu yakin?',
135136 'last_active' => 'Terakhir aktif:',
136137 'title' => 'Keamanan',
137138 'web_sessions' => 'sesi web',
+1-1
resources/lang/id/api.php
···88 'chat' => [
99 'empty' => 'Tidak dapat mengirim pesan kosong.',
1010 'limit_exceeded' => 'Anda mengirim pesan terlalu cepat, harap tunggu sebentar sebelum mencoba lagi.',
1111- 'too_long' => 'Pesan yang ingin dikirim terlalu panjang.',
1111+ 'too_long' => 'Pesan yang ingin kamu kirim terlalu panjang.',
1212 ],
1313 ],
1414
+7-7
resources/lang/id/authorization.php
···2727 ],
28282929 'store' => [
3030- 'mapper_note_wrong_user' => 'Hanya pembuat beatmap atau anggota BN/NAT yang dapat membubuhkan catatan pada halaman diskusi beatmap.',
3030+ 'mapper_note_wrong_user' => 'Hanya pemilik beatmap atau anggota BN/NAT yang dapat mengirim catatan.',
3131 ],
32323333 'vote' => [
···62626363 'chat' => [
6464 'annnonce_only' => 'Kanal ini hanya dikhususkan untuk pengumuman.',
6565- 'blocked' => 'Pesan tidak dapat dikirim kepada pengguna yang kamu blokir atau memblokir dirimu.',
6565+ 'blocked' => 'Kamu tidak dapat mengirim pesan kepada pengguna yang kamu blokir atau memblokir dirimu.',
6666 'friends_only' => 'Pengguna ini memblokir pesan dari pengguna lain yang tidak berada dalam daftar temannya.',
6767 'moderated' => 'Kanal percakapan ini sedang dimoderasi.',
6868 'no_access' => 'Kamu tidak memiliki akses ke kanal percakapan ini.',
6969 'receive_friends_only' => 'Pengguna ini mungkin tidak akan dapat membalas karena kamu hanya menerima pesan dari pengguna lain yang berada dalam daftar temanmu.',
7070- 'restricted' => 'Kamu tidak dapat mengirim pesan pada saat akunmu sedang di-silence, di-restrict, atau di-ban.',
7171- 'silenced' => 'Kamu tidak dapat mengirim pesan pada saat akunmu sedang di-silence, di-restrict, atau di-ban.',
7070+ 'restricted' => 'Kamu tidak dapat mengirim pesan pada saat kamu sedang di-silence, di-restrict, atau di-ban.',
7171+ 'silenced' => 'Kamu tidak dapat mengirim pesan pada saat kamu sedang di-silence, di-restrict, atau di-ban.',
7272 ],
73737474 'comment' => [
···105105106106 'edit' => [
107107 'deleted' => 'Postingan yang telah dihapus tidak dapat disunting.',
108108- 'locked' => 'Penyuntingan pada postingan ini telah dikunci.',
108108+ 'locked' => 'Postingan ini telah dikunci dari penyuntingan lebih lanjut.',
109109 'no_forum_access' => 'Kamu tidak memiliki akses ke forum yang dituju.',
110110 'not_owner' => 'Postingan ini hanya dapat disunting oleh pengirimnya.',
111111 'topic_locked' => 'Postingan pada topik yang telah dikunci tidak dapat disunting.',
112112 ],
113113114114 'store' => [
115115- 'play_more' => 'Kamu harus terlebih dahulu bermain sebelum kamu dapat membuat postingan pada forum! Apabila kamu mengalami masalah saat bermain, silakan kunjungi forum Help & Support.',
116116- 'too_many_help_posts' => "Kamu perlu untuk bermain lebih banyak sebelum kamu dapat membuat postingan tambahan. Apabila kamu masih menemui masalah dalam bermain, silakan kirim email ke support@ppy.sh", // FIXME: unhardcode email address.
115115+ 'play_more' => 'Bermainlah terlebih dahulu sebelum membuat postingan pada forum! Apabila kamu mengalami masalah saat bermain, silakan kunjungi forum Help & Support.',
116116+ 'too_many_help_posts' => "Kamu perlu untuk bermain lebih banyak sebelum kamu dapat membuat postingan tambahan. Apabila kamu masih menemui masalah saat bermain, silakan kirim email ke support@ppy.sh", // FIXME: unhardcode email address.
117117 ],
118118 ],
119119
···2727 'reply_notice' => 'Tekan enter untuk membalas.',
2828 'reply_resolve_notice' => 'Tekan enter untuk membalas. Tekan ctrl+enter untuk membalas dan menutup topik diskusi.',
2929 'reply_placeholder' => 'Ketik balasanmu di sini',
3030- 'require-login' => 'Silakan masuk untuk membuka topik diskusi baru atau membalas',
3030+ 'require-login' => 'Silakan masuk untuk mengirim atau membalas postingan',
3131 'resolved' => 'Terjawab',
3232 'restore' => 'pulihkan',
3333 'show_deleted' => 'Tampilkan yang telah dihapus',
···6262 ],
63636464 'message_placeholder' => [
6565- 'general' => 'Ketik di sini untuk membuka topik diskusi baru pada Umum (:version)',
6666- 'generalAll' => 'Ketik di sini untuk membuka topik diskusi baru pada Umum (Seluruh tingkat kesulitan)',
6767- 'review' => 'Ketik di sini untuk menulis kajian',
6868- 'timeline' => 'Ketik di sini untuk membuka topik diskusi baru pada Linimasa (:version)',
6565+ 'general' => 'Ketik di sini untuk mengirimkan topik diskusi baru pada Umum (:version)',
6666+ 'generalAll' => 'Ketik di sini untuk mengirimkan topik diskusi baru pada Umum (Seluruh tingkat kesulitan)',
6767+ 'review' => 'Ketik di sini untuk mengirimkan kajian',
6868+ 'timeline' => 'Ketik di sini untuk mengirimkan topik diskusi baru pada Linimasa (:version)',
6969 ],
70707171 'message_type' => [
···174174 'hype' => [
175175 'button' => 'Berikan Hype!',
176176 'button_done' => 'Telah di-Hype!',
177177- 'confirm' => "Apakah kamu yakin? Dengan ini, kamu akan memberikan 1 hype kepada beatmap ini dari :n hype yang kamu miliki saat ini. Tindakan ini tidak dapat diurungkan.",
177177+ 'confirm' => "Apakah kamu yakin? Dengan ini, kamu akan memberikan 1 hype kepada beatmap ini dari :n hype yang kamu miliki saat ini. Tindakan ini tidak dapat dibatalkan.",
178178 'explanation' => 'Berikan hype-mu untuk membawa beatmap ini lebih dekat menuju Ranked!',
179179 'explanation_guest' => 'Masuk dan berikan hype kepada beatmap ini agar beatmap ini dapat segera dinominasikan dan di-rank!',
180180 'new_time' => "Kamu akan memperoleh lebih banyak hype :new_time.",
···192192 'already_nominated' => 'Kamu telah menominasikan beatmap ini.',
193193 'cannot_nominate' => 'Kamu tidak dapat memberikan nominasi untuk mode permainan ini.',
194194 'delete' => 'Hapus',
195195- 'delete_own_confirm' => 'Apakah kamu yakin? Beatmap yang dipilih akan dihapus dan kamu akan dialihkan kembali ke halaman profilmu.',
196196- 'delete_other_confirm' => 'Apakah kamu yakin? Beatmap yang dipilih akan dihapus dan kamu akan dialihkan kembali ke halaman profil pengguna yang bersangkutan.',
195195+ 'delete_own_confirm' => 'Apakah kamu yakin? Beatmap ini akan dihapus dan kamu akan dialihkan kembali ke halaman profilmu.',
196196+ 'delete_other_confirm' => 'Apakah kamu yakin? Beatmap ini akan dihapus dan kamu akan dialihkan kembali ke halaman profil pengguna yang bersangkutan.',
197197 'disqualification_prompt' => 'Alasan diskualifikasi?',
198198 'disqualified_at' => 'Didiskualifikasi pada :time_ago (:reason).',
199199 'disqualified_no_reason' => 'tidak ada alasan yang diberikan',
···17171818 'download' => [
1919 'limit_exceeded' => 'Jangan terlalu bernafsu dalam mengunduh. Mainkan beatmap yang telah kamu miliki terlebih dahulu.',
2020+ 'no_mirrors' => 'Tidak ada server unduhan yang tersedia.',
2021 ],
21222223 'featured_artist_badge' => [
2323- 'label' => 'Featured artist',
2424+ 'label' => 'Featured Artist',
2425 ],
25262627 'index' => [
···5253 'dialog' => [
5354 'confirmation' => 'Apakah kamu yakin untuk menominasikan beatmap ini?',
5455 'header' => 'Nominasikan Beatmap',
5555- 'hybrid_warning' => 'catatan: kamu hanya dapat memberikan satu nominasi, sehingga pastikan kamu memberikan nominasi pada mode permainan yang memang kamu kehendaki',
5656+ 'hybrid_warning' => 'catatan: kamu hanya dapat memberikan nominasi satu kali, sehingga pastikan kamu memberikan nominasi pada mode permainan yang memang kamu kehendaki',
5657 'current_main_ruleset' => 'Ruleset utama saat ini: :ruleset',
5758 'which_modes' => 'Mode permainan mana yang ingin dinominasikan?',
5859 ],
···8182 'logged-out' => 'kamu harus masuk untuk mengunduh beatmap!',
8283 'mapped_by' => 'dibuat oleh :mapper',
8384 'mapped_by_guest' => 'guest difficulty oleh :mapper',
8484- 'unfavourite' => 'hapus beatmap ini dari daftar beatmap favorit',
8585+ 'unfavourite' => 'hapus beatmap ini dari daftar favorit',
8586 'updated_timeago' => 'terakhir diperbarui :timeago',
86878788 'download' => [
+1-1
resources/lang/id/chat.php
···5858 ],
59596060 'no-conversations' => [
6161- 'howto' => "Mulailah percakapan baru melalui tombol yang tertera pada laman profil atau kartu pop-up pengguna.",
6161+ 'howto' => "Mulailah percakapan baru dari halaman profil atau kartu pop-up pengguna.",
6262 'lazer' => 'Kanal percakapan publik yang kamu buka melalui <a href=":link">osu!lazer</a> juga akan terlihat di sini.',
6363 'title' => 'belum ada percakapan',
6464 ],
+1
resources/lang/id/contest.php
···1414 ],
15151616 'judge' => [
1717+ 'comments' => 'komentar',
1718 'hide_judged' => 'sembunyikan entri yang telah dinilai',
1819 'nav_title' => 'juri',
1920 'no_current_vote' => 'kamu belum memberikan suaramu.',
+1-1
resources/lang/id/errors.php
···3434 'search' => [
3535 'default' => 'Tidak ada hasil pencarian yang dapat diperoleh. Silakan coba lagi nanti.',
3636 'invalid_cursor_exception' => 'Parameter kursor yang ditentukan tidak valid.',
3737- 'operation_timeout_exception' => 'Aktivitas pencarian saat ini sedang lebih sibuk dari biasanya. Mohon coba lagi nanti.',
3737+ 'operation_timeout_exception' => 'Aktivitas pencarian saat ini sedang lebih sibuk dari biasanya. Silakan coba lagi nanti.',
3838 ],
3939 'user_report' => [
4040 'recently_reported' => "Kamu telah melaporkan hal ini baru-baru ini.",
+5-5
resources/lang/id/forum.php
···8585 'latest_post' => ':when oleh :user',
8686 'latest_reply_by' => 'balasan terbaru oleh :user',
8787 'new_topic' => 'Topik baru',
8888- 'new_topic_login' => 'Silakan masuk untuk membuat topik baru',
8888+ 'new_topic_login' => 'Masuk untuk mengirimkan topik baru',
8989 'post_reply' => 'Post',
9090 'reply_box_placeholder' => 'Ketik di sini untuk membalas',
9191 'reply_title_prefix' => 'Ttg',
···143143 'announcement' => 'topik disematkan dan ditandai sebagai pengumuman',
144144 'edit_topic' => 'menjadi :title',
145145 'fork' => 'dari :topic',
146146- 'pin' => 'topik yang disematkan',
147147- 'post_operation' => 'di-post oleh :username',
146146+ 'pin' => 'topik disematkan',
147147+ 'post_operation' => 'diposting oleh :username',
148148 'remove_tag' => 'tag ":tag" dihapus',
149149 'source_forum_operation' => 'dari :forum',
150150- 'unpin' => 'topik yang tidak disematkan',
150150+ 'unpin' => 'sematan topik dilepas',
151151 ],
152152153153 'no_results' => 'tidak ada rekaman aktivitas yang tercatat...',
···311311 'moderate_pin' => [
312312 'to_0' => 'Lepas sematan topik',
313313 'to_0_confirm' => 'Lepas sematan topik?',
314314- 'to_0_done' => 'Sematan topik telah dilepaskan',
314314+ 'to_0_done' => 'Sematan topik dilepas',
315315 'to_1' => 'Sematkan topik',
316316 'to_1_confirm' => 'Sematkan topik?',
317317 'to_1_done' => 'Topik telah disematkan',
+1-1
resources/lang/id/home.php
···103103 'steps' => [
104104 'register' => [
105105 'title' => 'buat akunnya',
106106- 'description' => 'ikuti petunjuk yang muncul pada awal permainan untuk masuk atau membuat akun baru',
106106+ 'description' => 'ikuti petunjuk yang tertera pada saat memulai permainan untuk masuk atau membuat akun baru',
107107 ],
108108 'download' => [
109109 'title' => 'unduh permainannya',
+1-1
resources/lang/id/store.php
···8383 ],
8484 'processing' => [
8585 'title' => 'Pembayaranmu belum terkonfirmasi!',
8686- 'line_1' => 'Apabila kamu telah membayar, ada kemungkinan sistem kami masih menunggu konfirmasi atas pembayaranmu. Silakan muat ulang halaman ini dalam beberapa menit!',
8686+ 'line_1' => 'Apabila kamu telah membayar, kami mungkin masih menunggu konfirmasi atas pembayaranmu. Silakan muat ulang halaman ini dalam beberapa menit!',
8787 'line_2' => [
8888 '_' => 'Apabila kamu menemui masalah dalam proses checkout, :link',
8989 'link_text' => 'klik di sini untuk melanjutkan proses checkout',
+1-1
resources/lang/id/tournament.php
···2525 'show' => [
2626 'banner' => 'Dukung Tim Anda',
2727 'entered' => 'Kamu telah terdaftar pada turnamen ini.<br><br>Mohon diperhatikan bahwa hal ini <b>tidak</b> berarti bahwa kamu telah ditempatkan ke dalam tim tertentu. <br><br>Kami akan mengirimkanmu instruksi lebih lanjut melalui email sebelum turnamen dimulai, jadi pastikan alamat email yang terhubung dengan akun osu! milikmu dapat dihubungi!',
2828- 'info_page' => 'Laman Informasi',
2828+ 'info_page' => 'Halaman Informasi',
2929 'login_to_register' => 'Harap :login untuk melihat rincian pendaftaran!',
3030 'not_yet_entered' => 'Anda tidak terdaftar pada turnamen ini.',
3131 'rank_too_low' => 'Maaf, kamu tidak berada dalam rentang peringkat yang dipersyaratkan oleh turnamen ini!',
+2-2
resources/lang/id/user_cover_presets.php
···3131 ],
3232 ],
3333 'store' => [
3434- 'failed' => 'Terdapat masalah pada saat menghasilkan sampul: :error',
3535- 'ok' => 'Sampul dihasilkan',
3434+ 'failed' => 'Terdapat masalah pada saat membuat sampul: :error',
3535+ 'ok' => 'Sampul dibuat',
3636 ],
3737];
+14-13
resources/lang/id/users.php
···106106 '_' => 'Masuk',
107107 'button' => 'Masuk',
108108 'button_posting' => 'Mencoba masuk...',
109109- 'email_login_disabled' => 'Alamat email untuk saat ini tidak dapat digunakan untuk masuk. Silakan masuk dengan menggunakan nama pengguna.',
109109+ 'email_login_disabled' => 'Entri masuk dengan email saat ini sedang dinonaktifkan. Silakan masuk dengan menggunakan nama pengguna.',
110110 'failed' => 'Rincian masuk salah',
111111 'forgot' => 'Lupa kata sandi?',
112112 'info' => 'Silakan masuk untuk melanjutkan',
···197197 'to_1' => 'Tampilkan sampul',
198198 ],
199199 'daily_challenge' => [
200200- 'daily' => '',
201201- 'daily_streak_best' => '',
202202- 'daily_streak_current' => '',
203203- 'title' => '',
204204- 'top_10p_placements' => '',
205205- 'top_50p_placements' => '',
206206- 'weekly' => '',
207207- 'weekly_streak_best' => '',
208208- 'weekly_streak_current' => '',
200200+ 'daily' => 'Rantai Permainan Harian',
201201+ 'daily_streak_best' => 'Rantai Permainan Harian Terbaik',
202202+ 'daily_streak_current' => 'Rantai Permainan Harian Saat Ini',
203203+ 'playcount' => '',
204204+ 'title' => 'Tantangan\nHarian',
205205+ 'top_10p_placements' => 'Penempatan 10% Teratas',
206206+ 'top_50p_placements' => 'Penempatan 50% Teratas',
207207+ 'weekly' => 'Rantai Permainan Mingguan',
208208+ 'weekly_streak_best' => 'Rantai Permainan Mingguan Terbaik',
209209+ 'weekly_streak_current' => 'Rantai Permainan Mingguan Saat Ini',
209210210211 'unit' => [
211211- 'day' => '',
212212- 'week' => '',
212212+ 'day' => ':valuehr',
213213+ 'week' => ':valuemg',
213214 ],
214215 ],
215216 'edit' => [
···458459 ],
459460 'page' => [
460461 'button' => 'sunting halaman profil',
461461- 'description' => '<strong>saya!</strong> merupakan area pada halaman profilmu yang dapat kamu modifikasi sesuka hati.',
462462+ 'description' => '<strong>saya!</strong> merupakan area pribadi pada halaman profilmu yang dapat kamu isi sesuka hati.',
462463 'edit_big' => 'Sunting saya!',
463464 'placeholder' => 'Ketik konten halaman di sini',
464465
+1-1
resources/lang/id/wiki.php
···5566return [
77 'show' => [
88- 'fallback_translation' => 'Laman yang diminta belum diterjemahkan ke dalam bahasa yang dipilih (:language). Menampilkan versi Bahasa Inggris.',
88+ 'fallback_translation' => 'Halaman yang diminta belum diterjemahkan ke dalam bahasa yang dipilih (:language). Menampilkan versi Bahasa Inggris.',
99 'incomplete_or_outdated' => 'Informasi yang tertera pada halaman ini tidak lengkap atau telah kedaluwarsa. Apabila kamu berkenan, mohon bantu kami untuk memperbarui artikel ini!',
1010 'missing' => 'Halaman ":keyword" yang diminta tidak dapat ditemukan.',
1111 'missing_title' => 'Tidak Ditemukan',
+1
resources/lang/it/accounts.php
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'resetta',
1314 'rules' => 'Assicurati che la tua immagine di profilo aderisca alle :link.<br/>Questo significa che dev\'essere <strong>adatta a tutte le età</strong> (quindi niente nudità, profanità o contenuti provocanti).',
1415 'rules_link' => 'regole della comunità',
1516 ],
+1-1
resources/lang/it/api.php
···77 'error' => [
88 'chat' => [
99 'empty' => 'Non puoi inviare messaggi vuoti.',
1010- 'limit_exceeded' => 'Stai inviando messaggi troppo velocemente, per favore aspetta un po\' prima di riprovare.',
1010+ 'limit_exceeded' => 'Stai inviando messaggi troppo velocemente, aspetta un po\' prima di riprovare.',
1111 'too_long' => 'Il messaggio che vuoi inviare è troppo lungo.',
1212 ],
1313 ],
···62626363 'chat' => [
6464 'annnonce_only' => 'Questo canale è solamente per gli annunci.',
6565- 'blocked' => 'Non puoi inviare messaggi ad un utente che ti sta bloccando o che hai bloccato.',
6565+ 'blocked' => 'Non puoi inviare messaggi a un utente che ti sta bloccando o che hai bloccato.',
6666 'friends_only' => 'L\'utente sta bloccando i messaggi da chi non è nella sua lista amici.',
6767 'moderated' => 'Questo canale è attualmente moderato.',
6868 'no_access' => 'Non hai accesso a quel canale.',
+1
resources/lang/it/beatmapsets.php
···17171818 'download' => [
1919 'limit_exceeded' => 'Rallenta, gioca di più.',
2020+ 'no_mirrors' => 'Nessun server di download disponibile.',
2021 ],
21222223 'featured_artist_badge' => [
+1
resources/lang/it/contest.php
···1414 ],
15151616 'judge' => [
1717+ 'comments' => 'commenti',
1718 'hide_judged' => 'nascondi le voci valutate',
1819 'nav_title' => 'giudice',
1920 'no_current_vote' => 'non hai ancora votato.',
···5656 'date' => 'Data:',
5757 'echeck_delay' => 'Visto che il tuo pagamento era un eCheck, dovrai attendere altri 10 giorni per far passare il pagamento attraverso PayPal!',
5858 'hide_from_activity' => 'I tag osu!supporter in questo ordine non verranno mostrati nella tua attività recente.',
5959- 'sent_via' => '',
6060- 'shipping_to' => '',
5959+ 'sent_via' => 'Inviato con:',
6060+ 'shipping_to' => 'Indirizzo di spedizione:',
6161 'title' => 'Ricevuta',
6262 'title_compact' => 'ricevuta',
6363···9191 ],
9292 'shipped' => [
9393 'title' => 'Il tuo ordine è stato spedito!',
9494- 'tracking_details' => '',
9494+ 'tracking_details' => 'Dettagli di tracciamento:',
9595 'no_tracking_details' => [
9696 '_' => "Non disponiamo dei dettagli di tracciabilità poiché abbiamo inviato il tuo pacco tramite posta aerea, ma puoi aspettarti di riceverlo entro 1-3 settimane. Per l'Europa, a volte la dogana può ritardare l'ordine senza il nostro controllo. Se hai qualche dubbio, rispondi all'e-mail di conferma dell'ordine che hai ricevuto (o :link).",
9797 'link_text' => 'inviaci un\'email',
···174174 'add_to_cart' => 'Aggiungi al carrello',
175175 'notify' => 'Avvisami quando è disponibile!',
176176177177- 'notification_success' => 'sarai avvisato quando sarà disponibile. clicca :link per annullare',
177177+ 'notification_success' => 'verrai avvisato quando sarà disponibile. clicca :link per annullare',
178178 'notification_remove_text' => 'qui',
179179180180 'notification_in_stock' => 'Questo prodotto è già disponibile!',
···10101111 'avatar' => [
1212 'title' => 'Avatārs',
1313+ 'reset' => '',
1314 'rules' => 'Lūdzu, pārliecinieties, ka jūsu profila attēls atbilst :link.<br/>Tas nozīmē, ka attēlam jābūt <strong>piemērotam visiem vecumiem</strong>, t.i., bez kailuma, rupjībām vai ierosinoša satura.',
1415 'rules_link' => 'kopienas noteikumi',
1516 ],
···5566return [
77 'show' => [
88- 'fallback_translation' => '',
99- 'incomplete_or_outdated' => '',
1010- 'missing' => '',
1111- 'missing_title' => '',
1212- 'missing_translation' => '',
1313- 'needs_cleanup_or_rewrite' => '',
88+ 'fallback_translation' => 'Laman yang diminta belum lagi diterjemah kepada bahasa yang dipilih (:language). Tunjuk versi Inggeris.',
99+ 'incomplete_or_outdated' => 'Kandungan di laman ini tidak lengkap atau ketinggalan zaman. Jika anda boleh membantu, sila pertimbang untuk kemaskini rencana!',
1010+ 'missing' => 'Laman yang diminta ":keyword" tidak dapat dijumpai.',
1111+ 'missing_title' => 'Tidak Jumpa',
1212+ 'missing_translation' => 'Laman yang diminta tidak dapat dijumpai untuk bahasa yang dipilih ketika ini.',
1313+ 'needs_cleanup_or_rewrite' => 'Laman ini tidak mematuhi piawai wiki osu! dan memerlukan pembersihan atau ditulis semula. Jika anda boleh membantu, sila pertimbang untuk kemaskini rencana!',
1414 'search' => '',
1515- 'stub' => '',
1616- 'toc' => '',
1515+ 'stub' => 'Rencana ini tidak habis dan menunggu seseorang untuk mengembangkannya.',
1616+ 'toc' => 'Kandungan',
17171818 'edit' => [
1919- 'link' => '',
2020- 'refresh' => '',
1919+ 'link' => 'Tunjuk di Github',
2020+ 'refresh' => 'Segar Semula',
2121 ],
22222323 'translation' => [
2424 'legal' => '',
2525 'outdated' => '',
26262727- 'default' => '',
2727+ 'default' => 'Versi Inggeris',
2828 ],
2929 ],
3030];
+1
resources/lang/nl/accounts.php
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => '',
1314 'rules' => 'Zorg ervoor dat uw avatar voldoet aan :link. <br/> Dit betekent dat deze <strong> geschikt moet zijn voor alle leeftijden </strong>. d.w.z. geen naaktheid, godslastering of suggestieve inhoud.',
1415 'rules_link' => 'de community regels',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Profilbilde',
1313+ 'reset' => '',
1314 'rules' => 'Vennligst sørg for at profilbildet ditt følger :link<br/>Dette betyr at det må være <strong>passende for alle aldersgrupper</strong>. d.v.s. ingen nakenhet, upassende språk eller innhold.',
1415 'rules_link' => 'Samfunns regler',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Awatar',
1313+ 'reset' => 'zresetuj',
1314 'rules' => 'Upewnij się, że twój awatar jest zgodny z :link.<br/>Oznacza to, że musi być <strong>stosowny dla wszystkich grup wiekowych</strong> i nie może ukazywać nagości, wulgarności ani sugestywnej zawartości.',
1415 'rules_link' => 'zasadami społeczności',
1516 ],
+2-2
resources/lang/pl/beatmaps.php
···2525 'message_placeholder_silenced' => "Nie możesz zamieszczać dyskusji po tym, jak twoje konto zostało uciszone.",
2626 'message_type_select' => 'Wybierz typ komentarza',
2727 'reply_notice' => 'Naciśnij Enter, aby odpowiedzieć.',
2828- 'reply_resolve_notice' => '',
2828+ 'reply_resolve_notice' => 'Wciśnij Enter, aby odpowiedzieć. Wciśnij ctrl+enter, aby i rozwiązać.',
2929 'reply_placeholder' => 'Napisz tutaj swoją odpowiedź',
3030 'require-login' => 'Zaloguj się, aby odpowiedzieć bądź opublikować uwagę',
3131 'resolved' => 'Rozwiązane',
···285285 'taiko' => '',
286286 'fruits' => '',
287287 'mania' => '',
288288- 'undefined' => '',
288288+ 'undefined' => 'nie ustawiono',
289289 ],
290290 'status' => [
291291 'any' => 'Jakikolwiek',
+2-1
resources/lang/pl/beatmapsets.php
···17171818 'download' => [
1919 'limit_exceeded' => 'Zwolnij, pograj więcej!',
2020+ 'no_mirrors' => '',
2021 ],
21222223 'featured_artist_badge' => [
···4546 'hybrid_requires_modes' => 'Beatmapa hybrydowa wymaga wybrania przynajmniej jednego trybu gry, dla którego chcesz ją nominować.',
4647 'incorrect_mode' => 'Nie posiadasz uprawnień do nominowania beatmap dla tych trybów (:mode)',
4748 'invalid_limited_nomination' => '',
4848- 'invalid_ruleset' => '',
4949+ 'invalid_ruleset' => 'Ta nominacja ma niewłaściwy zestaw zasad.',
4950 'too_many' => 'Osiągnięto już wystarczającą liczbę nominacji.',
5051 'too_many_non_main_ruleset' => '',
5152
···5566return [
77 'edit' => [
88- 'title_compact' => 'configurações de conta',
88+ 'title_compact' => 'opções da conta',
99 'username' => 'nome de usuário',
10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'reiniciar',
1314 'rules' => 'Por favor tenha certeza que seu avatar respeite :link.<br/>Isso significa que deve ser <strong>adequado para todas as idades</strong>. ou seja, sem nudez, palavrões ou conteúdo sugestivo.',
1415 'rules_link' => 'as regras da comunidade',
1516 ],
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'reiniciar',
1314 'rules' => 'Por favor, assegura-te de que o teu avatar respeita :link.<br/>Isto significa que deve ser <strong>adequado para todas as idades</strong>, ou seja, sem nudez, profanidade ou conteúdo estimulante.',
1415 'rules_link' => 'as regras da comunidade',
1516 ],
···2020 ],
2121 'infra' => [
2222 'title' => 'Infraestrutura do servidor',
2323- 'description' => 'As contribuições vão para os servidores que correm o sítio web, serviços multijogador, tabelas de líderes online, etc.',
2323+ 'description' => 'As contribuições vão para os servidores que executam o sítio web, serviços multijogadores, classificações online, etc.',
2424 ],
2525 'featured-artists' => [
2626 'title' => 'Artistas destacados',
···51515252 'friend_ranking' => [
5353 'title' => 'Classificação de amigos',
5454- 'description' => "Vê como te comparas contra os teus amigos numa tabela de classificações dum beatmap, dentro do jogo como também no sítio web.",
5454+ 'description' => "Vê como te compara contra os teus amigos numa tabela de classificações do beatmap, no jogo como também no sítio web.",
5555 ],
56565757 'country_ranking' => [
···132132 'description' => 'O número máximo de beatmaps não classificados que podes possuir é calculado dum valor base mais um bónus adicional para cada beatmap classificado que atualmente possuas (até a um certo limite).<br/><br/>Normalmente é 4 mais 1 por cada beatmap classificado (até 2). Com a osu!supporter, isto aumenta para 8 mais 1 por cada beatmap classificado (até 12).',
133133 ],
134134 'friend_filtering' => [
135135- 'title' => 'Tabela de classificações de amigos',
135135+ 'title' => 'Classificações de amigos',
136136 'description' => 'Compete com os teus amigos e vê como te classificas contra eles!',
137137 ],
138138
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'resetează',
1314 'rules' => 'Te rugăm să te asiguri că avatar-ul tău respectă :link<br/>Asta înseamnă că trebuie să fie <strong>adecvat pentru toate vârstele</strong>. spre ex. fără nuditate, vulgarități sau conținut sugestiv.',
1415 'rules_link' => 'regulile comunității',
1516 ],
+2-2
resources/lang/ro/beatmaps.php
···2525 'message_placeholder_silenced' => "Nu poți posta atunci când ești mut.",
2626 'message_type_select' => 'Selectează tipul comentariului',
2727 'reply_notice' => 'Apasă enter pentru a răspunde.',
2828- 'reply_resolve_notice' => '',
2828+ 'reply_resolve_notice' => 'Apăsați enter pentru a răspunde. Apăsați ctrl+enter pentru a răspunde și rezolva.',
2929 'reply_placeholder' => 'Scrie-ți răspunsul aici',
3030 'require-login' => 'Te rugăm să te autentifici pentru a posta sau a răspunde',
3131 'resolved' => 'Rezolvat',
3232 'restore' => 'restabilește',
3333 'show_deleted' => 'Afișează șterse',
3434 'title' => 'Discuții',
3535- 'unresolved_count' => '',
3535+ 'unresolved_count' => 'o problemă nerezolvată|:count_delimited probleme nerezolvate|:count_delimited de probleme nerezolvate',
36363737 'collapse' => [
3838 'all-collapse' => 'Restrânge tot',
+1
resources/lang/ro/beatmapsets.php
···17171818 'download' => [
1919 'limit_exceeded' => 'Descarcă mai puțin, joacă mai mult.',
2020+ 'no_mirrors' => 'Nu există servere de descărcare disponibile.',
2021 ],
21222223 'featured_artist_badge' => [
···2929 'generic' => 'A apărut o eroare în timpul preparării comenzii tale.',
3030 ],
3131 'scores' => [
3232- 'invalid_id' => '',
3232+ 'invalid_id' => 'ID scor invalid.',
3333 ],
3434 'search' => [
3535 'default' => 'Nu s-au putut obține rezultate, încearcă mai târziu.',
+2-2
resources/lang/ro/layout.php
···199199 'legacy_score_only_toggle_tooltip' => 'Modul lazer afișează scoruri obținute din lazer folosind un algoritm nou de scor',
200200 'logout' => 'Deconectare',
201201 'profile' => 'Profilul Meu',
202202- 'scoring_mode_toggle' => '',
203203- 'scoring_mode_toggle_tooltip' => '',
202202+ 'scoring_mode_toggle' => 'Mod scor clasic',
203203+ 'scoring_mode_toggle_tooltip' => 'Ajustează valorile pentru o experiența mai apropiată de modul clasic de scor fără standardizare',
204204 ],
205205 ],
206206
+1-1
resources/lang/ro/oauth.php
···77 'cancel' => 'Anulează',
8899 'authorise' => [
1010- 'app_owner' => '',
1010+ 'app_owner' => 'o aplicație realizată de :owner',
1111 'request' => 'solicită permisiunea de a-ţi accesa contul.',
1212 'scopes_title' => 'Această aplicaţie va putea să:',
1313 'title' => 'Cerere de autorizare',
+18-17
resources/lang/ro/users.php
···197197 'to_1' => 'Afișează coperta',
198198 ],
199199 'daily_challenge' => [
200200- 'daily' => '',
201201- 'daily_streak_best' => '',
202202- 'daily_streak_current' => '',
203203- 'title' => '',
204204- 'top_10p_placements' => '',
205205- 'top_50p_placements' => '',
206206- 'weekly' => '',
207207- 'weekly_streak_best' => '',
208208- 'weekly_streak_current' => '',
200200+ 'daily' => 'Serie Zilnică',
201201+ 'daily_streak_best' => 'Cea Mai Bună Serie Zilnică',
202202+ 'daily_streak_current' => 'Serie Zilnică Actuală',
203203+ 'playcount' => '',
204204+ 'title' => 'Provocare\nZilnică',
205205+ 'top_10p_placements' => 'Plasamente Top 10%',
206206+ 'top_50p_placements' => 'Plasamente Top 50%',
207207+ 'weekly' => 'Serie Săptămânală',
208208+ 'weekly_streak_best' => 'Cea Mai Bună Serie Săptămânală',
209209+ 'weekly_streak_current' => 'Serie Săptămânală Actuală',
209210210211 'unit' => [
211211- 'day' => '',
212212- 'week' => '',
212212+ 'day' => ':valuez',
213213+ 'week' => ':values',
213214 ],
214215 ],
215216 'edit' => [
216217 'cover' => [
217217- 'button' => 'Schimbă coperta de profil',
218218+ 'button' => 'Schimbă Coperta de Profil',
218219 'defaults_info' => 'Mai multe opțiuni pentru coperți vor fi disponibile în viitor',
219220 'holdover_remove_confirm' => "Coperta selectată anterior nu mai este disponibilă pentru selecție. Nu o veți mai putea selecta înapoi după ce treceți la o copertă diferită. Continuați?",
220220- 'title' => '',
221221+ 'title' => 'Copertă',
221222222223 'upload' => [
223224 'broken_file' => 'Imposibil de procesat imaginea. Verifică imaginea încărcată și încearcă din nou.',
···241242 ],
242243243244 'hue' => [
244244- 'reset_no_supporter' => '',
245245- 'title' => '',
245245+ 'reset_no_supporter' => 'Resetați culoarea la cea implicită? Va fi necesar statusul de suporter pentru a o schimba la o culoare diferită.',
246246+ 'title' => 'Culoare',
246247247248 'supporter' => [
248248- '_' => '',
249249- 'link' => '',
249249+ '_' => 'Temele de culori personalizate sunt disponibile numai pentru :link',
250250+ 'link' => 'suporteri osu!',
250251 ],
251252 ],
252253 ],
+1
resources/lang/ru/accounts.php
···10101111 'avatar' => [
1212 'title' => 'Аватар',
1313+ 'reset' => 'удалить',
1314 'rules' => 'Убедитесь, что ваш аватар соответствует :link.<br/>Это означает, что он обязан <strong>подходить для всех возрастов</strong>, т.е. не должен содержать наготы, ненормативной лексики или вызывающего контента.',
1415 'rules_link' => 'критериям визуального содержания',
1516 ],
+2-2
resources/lang/ru/beatmaps.php
···3232 'restore' => 'восстановить',
3333 'show_deleted' => 'Показать удалённые',
3434 'title' => 'Обсуждение',
3535- 'unresolved_count' => ':count_delimited нерешенных проблем',
3535+ 'unresolved_count' => ':count_delimited нерешённых проблем|:count_delimited нерешённая проблема|:count_delimited нерешённые проблемы',
36363737 'collapse' => [
3838 'all-collapse' => 'Скрыть всё',
···211211 'required_text' => 'Номинаций: :current/:required',
212212 'reset_message_deleted' => 'удалено',
213213 'title' => 'Статус номинации',
214214- 'unresolved_issues' => 'Ещё остались нерешенные проблемы, которые необходимо решить в первую очередь.',
214214+ 'unresolved_issues' => 'Ещё остались нерешённые проблемы, которые необходимо решить в первую очередь.',
215215216216 'rank_estimate' => [
217217 '_' => 'Эта карта станет рейтинговой :date, если не будет найдено проблем. Она #:position в :queue.',
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => '',
1314 'rules' => 'Prosím uistite sa, že váš avatar sedí s :link.<br/>To znamená, že musí byť <strong>primeraný pre každý vek</strong>. To je žiadna nudita, vulgarizmy alebo sugestívny obsah.',
1415 'rules_link' => 'pravidlá komunity',
1516 ],
···4949 ],
50505151 'card' => [
5252- 'gift_supporter' => '',
5252+ 'gift_supporter' => 'Daruj štítok podporovateľa',
5353 'loading' => 'Načitávanie...',
5454 'send_message' => 'poslať správu',
5555 ],
···72727373 'disabled' => [
7474 'title' => 'Ups! Vyzerá to tak, že tvoj účet bol zakázaný.',
7575- 'warning' => "",
7575+ 'warning' => "V tom prípade, že ste porušili pravidlo, vezmite si prosím na vedomie, že všeobecne platí jednomesačné obdobie, počas ktorého nebudeme brať do úvahy žiadne žiadosti o amnestiu. Po tomto období nás môžete kontaktovať, ak to budete považovať za potrebné. Upozorňujeme, že vytváranie nových účtov po tom, čo ste mali jeden deaktivovný, bude mať za následok <strong>predĺženie tohto jednomesačného obmedzenia</strong>. Upozorňujeme tiež, že <strong>každým vytvoreným účtom ďalej porušujete pravidlá</strong>. Dôrazne vám odporúčame, aby ste sa nevydali touto cestou!",
76767777 'if_mistake' => [
7878- '_' => '',
7878+ '_' => 'Ak si myslíte, že ide o chybu, kontaktujte nás (prostredníctvom :email alebo kliknutím na „?“ v pravom dolnom rohu tejto stránky). Upozorňujeme, že vždy sme si plne istí našimi krokmi, pretože sú založené na veľmi spoľahlivých údajoch. Vyhradzujeme si právo nebrať do úvahy vašu žiadosť, ak budeme mať pocit, že ste úmyselne nečestní.',
7979 'email' => 'e-mail',
8080 ],
81818282 'reasons' => [
8383- 'compromised' => '',
8484- 'opening' => '',
8383+ 'compromised' => 'Váš účet bol považovaný za napadnutý. Môže byť dočasne deaktivovaný, kým sa potvrdí jeho totožnosť.',
8484+ 'opening' => 'Existuje niekoľko dôvodov, ktoré môžu viesť k deaktivácii vášho účtu:',
85858686 'tos' => [
8787- '_' => '',
8787+ '_' => 'Porušili ste jedno alebo viacero našich pravidiel :community_rules alebo :tos.',
8888 'community_rules' => 'pravidlá komunity',
8989 'tos' => 'zmluvné podmienky',
9090 ],
···200200 'daily' => '',
201201 'daily_streak_best' => '',
202202 'daily_streak_current' => '',
203203+ 'playcount' => '',
203204 'title' => '',
204205 'top_10p_placements' => '',
205206 'top_50p_placements' => '',
+1
resources/lang/sl/accounts.php
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => '',
1314 'rules' => 'Prosimo, da naj se tvoj avatar drži :link.<br/>To pomeni, da mora biti <strong>primerno za vse starosti</strong>. t.j. Nič golote, kletvic ali druge neželene vsebine.',
1415 'rules_link' => 'pravila skupnosti',
1516 ],
···11111212 'top-headers' => [
1313 'headline' => 'Стримови Уживо',
1414- 'description' => 'Подаци су преузети са twitch.tv сваких пет минута на основу директоријума лајва. Слободно можете почети да стримујете и да будете наведени у списку! За више информација о томе како наместити лајв, молимо вас да погледате :link.',
1414+ 'description' => 'Подаци су преузети са twitch.tv сваких пет минута на основу директоријума лајва. Слободно можете почети да стримујете и да будете наведени у списку! За више информација о томе како наместити лајв, молимо Вас да погледате :link.',
15151616 'link' => 'вики страница о лајву',
1717 ],
+3-3
resources/lang/sr/models.php
···44// See the LICENCE file in the repository root for full licence text.
5566return [
77- 'not_found' => "",
77+ 'not_found' => "Наведени :model није пронађен.",
8899 'name' => [
1010- 'App\Models\Beatmap' => '',
1111- 'App\Models\Beatmapset' => '',
1010+ 'App\Models\Beatmap' => 'тежина мапе',
1111+ 'App\Models\Beatmapset' => 'мапа',
1212 ],
1313];
···10101111 'avatar' => [
1212 'title' => 'Avatar',
1313+ 'reset' => 'återställ',
1314 'rules' => 'Se till att din avatar följer :link.<br/>Det betyder att den måste vara <strong>lämplig för alla åldrar</strong>. dvs. ingen nakenhet, svordomar eller suggestivt innehåll.',
1415 'rules_link' => 'gemenskapsreglerna',
1516 ],
+1-1
resources/lang/sv/authorization.php
···173173 'score' => [
174174 'pin' => [
175175 'disabled_type' => "Kan inte fästa den här typen av poäng",
176176- 'failed' => "",
176176+ 'failed' => "Kan inte fästa icke-passerande poäng.",
177177 'not_owner' => 'Endast resultatägaren kan fästa resultat.',
178178 'too_many' => 'Fäst för många resultat.',
179179 ],
···2525 'message_placeholder_silenced' => "Kan inte lägga upp diskussionen medan du är tystad.",
2626 'message_type_select' => 'Välj kommentarstyp',
2727 'reply_notice' => 'Tryck enter för att svara.',
2828- 'reply_resolve_notice' => '',
2828+ 'reply_resolve_notice' => 'Tryck enter för att svara. Tryck ctrl+enter för att svara och lösa.',
2929 'reply_placeholder' => 'Skriv ditt svar här',
3030 'require-login' => 'Var vänlig logga in för att skicka inlägg eller svara',
3131 'resolved' => 'Löst',
3232 'restore' => 'återställ',
3333 'show_deleted' => 'Visa borttagna',
3434 'title' => 'Diskussioner',
3535- 'unresolved_count' => '',
3535+ 'unresolved_count' => ':count_delimited olösta problem|:count_delimited olösta problem',
36363737 'collapse' => [
3838 'all-collapse' => 'Kollapsa allt',
···8787 'nomination_reset' => 'Ta bort alla Nomineringar',
8888 'praise' => 'Lägg ut Beröm',
8989 'problem' => 'Lägg ut Problem',
9090- 'problem_warning' => '',
9191- 'review' => '',
9292- 'suggestion' => '',
9090+ 'problem_warning' => 'Lägg Upp Problem',
9191+ 'review' => 'Lägg Upp Recension',
9292+ 'suggestion' => 'Lägg Upp Förslag',
9393 ],
94949595 'mode' => [
···215215216216 'rank_estimate' => [
217217 '_' => 'Denna beatmap uppskattas vara rankad :date, så länge inga fel uppstår. Den är #:position i :queue.',
218218- 'unresolved_problems' => '',
219219- 'problems' => '',
218218+ 'unresolved_problems' => 'Denna låt är för närvarande blockerad från att lämna den Kvalificerade sektionen tills :problems är löst.',
219219+ 'problems' => 'dessa problem',
220220 'on' => 'den :date',
221221 'queue' => 'rankkö',
222222 'soon' => 'snart',
···285285 'taiko' => '',
286286 'fruits' => '',
287287 'mania' => '',
288288- 'undefined' => '',
288288+ 'undefined' => 'inte inställt',
289289 ],
290290 'status' => [
291291 'any' => 'Alla',
+7-6
resources/lang/sv/beatmapsets.php
···17171818 'download' => [
1919 'limit_exceeded' => 'Sakta ner, spela mer.',
2020+ 'no_mirrors' => '',
2021 ],
21222223 'featured_artist_badge' => [
···4041 ],
41424243 'nominate' => [
4343- 'bng_limited_too_many_rulesets' => '',
4444- 'full_nomination_required' => '',
4444+ 'bng_limited_too_many_rulesets' => 'Probationära nominatörer kan ej nominera flera regelset.',
4545+ 'full_nomination_required' => 'Du måste vara en fullständig nominatör för att utföra den slutliga nomineringen av ett regelset.',
4546 'hybrid_requires_modes' => 'En hybrid beatmap kräver att du väljer minst ett spelläge att nominera för.',
4647 'incorrect_mode' => 'Du har inte behörighet att nominera för läge: :mode',
4747- 'invalid_limited_nomination' => '',
4848- 'invalid_ruleset' => '',
4848+ 'invalid_limited_nomination' => 'Denna beatmap har ogiltiga nomineringar och kan inte kvalificeras i detta tillstånd',
4949+ 'invalid_ruleset' => 'Den här nomineringen har ogiltiga regelverk.',
4950 'too_many' => 'Nomineringskravet är redan uppfyllt.',
5050- 'too_many_non_main_ruleset' => '',
5151+ 'too_many_non_main_ruleset' => 'Nomineringskrav för icke-huvudregelset har redan uppfyllts.',
51525253 'dialog' => [
5354 'confirmation' => 'Är du säker på att du vill nominera denna beatmap?',
5455 'header' => 'Nominera beatmap',
5556 'hybrid_warning' => 'notera: du kan bara nominera en gång, så se till att du nominerar för alla spellägen som du tänker nominera för',
5656- 'current_main_ruleset' => '',
5757+ 'current_main_ruleset' => 'Det huvudsakliga regelsettet är för närvarande :ruleset',
5758 'which_modes' => 'Nominera för vilka spellägen?',
5859 ],
5960 ],
+3-3
resources/lang/sv/chat.php
···1818 'channels' => [
1919 'confirm_part' => 'Vill du dölja denna kanal? Du kommer fortfarande ta emot meddelanden från denna kanal.',
2020 'create' => 'skapa meddelande',
2121- 'join' => '',
2222- 'none' => '',
2121+ 'join' => 'gå med i kanal',
2222+ 'none' => 'ingen kanal',
23232424 'list' => [
2525 'title' => [
···6464 ],
65656666 'join_channels' => [
6767- 'loading' => '',
6767+ 'loading' => 'Laddar kanallista...',
6868 ],
6969];
+2-1
resources/lang/sv/contest.php
···1414 ],
15151616 'judge' => [
1717+ 'comments' => '',
1718 'hide_judged' => 'dölj bedömda bidrag',
1819 'nav_title' => 'bedöm',
1920 'no_current_vote' => 'du har inte röstat ännu.',
2021 'update' => 'uppdatera',
2122 'validation' => [
2222- 'missing_score' => '',
2323+ 'missing_score' => 'saknar resultat',
2324 'contest_vote_judged' => 'kan inte rösta i bedömda tävlingar',
2425 ],
2526 'voted' => 'Du har redan röstat på detta bidrag.',
+2-2
resources/lang/sv/errors.php
···2929 'generic' => 'Ett fel inträffade när din transaktion förbereddes.',
3030 ],
3131 'scores' => [
3232- 'invalid_id' => '',
3232+ 'invalid_id' => 'Ogiltigt poäng id.',
3333 ],
3434 'search' => [
3535 'default' => 'Kunde inte få några resultat, försök igen senare.',
···3737 'operation_timeout_exception' => 'Sökfunktionen är för närvarande mer upptagen än vanligt, försök igen senare.',
3838 ],
3939 'user_report' => [
4040- 'recently_reported' => "",
4040+ 'recently_reported' => "Du har redan rapporterat det här nyligen.",
4141 ],
4242];
···199199 'legacy_score_only_toggle_tooltip' => 'Lazer läget visar resultat som är satta i lazer med den nya poängalgoritmen',
200200 'logout' => 'Logga ut',
201201 'profile' => 'Min profil',
202202- 'scoring_mode_toggle' => '',
203203- 'scoring_mode_toggle_tooltip' => '',
202202+ 'scoring_mode_toggle' => 'Klassiskt resultat',
203203+ 'scoring_mode_toggle_tooltip' => 'Justera poängvärden för att kännas mer som klassisk poängsättning utan tak',
204204 ],
205205 ],
206206
+1-1
resources/lang/sv/oauth.php
···77 'cancel' => 'Avbryt',
8899 'authorise' => [
1010- 'app_owner' => '',
1010+ 'app_owner' => 'en app av :owner',
1111 'request' => 'begär behörighet att komma åt ditt konto.',
1212 'scopes_title' => 'Denna applikation kommer att kunna:',
1313 'title' => 'Auktoriseringsbegäran.',
+2-2
resources/lang/sv/store.php
···6565 'cancelled' => [
6666 'title' => 'Din beställning har avbrutits',
6767 'line_1' => [
6868- '_' => "",
6868+ '_' => "Om du inte bad om en avbrytning var god kontakta :link med ditt order nummer (#:order_number).",
6969 'link_text' => 'osu!store support',
7070 ],
7171 ],
···9393 'title' => 'Din beställning har skickats!',
9494 'tracking_details' => 'Spårningsinformation följer:',
9595 'no_tracking_details' => [
9696- '_' => "",
9696+ '_' => "Vi har inga spårningsuppgifter eftersom vi skickade paketet via Air Mail, men vi uppskattar att du kommer få det inom 1-3 veckor. I Europa kan tullen förlänga väntetiden, vilket är utom vår kontroll. Om du har några funderingar kan du svara på bekräftelse mejlet du fick av oss (eller :link).",
9797 'link_text' => 'skicka oss ett e-post',
9898 ],
9999 ],
···10101111 'avatar' => [
1212 'title' => 'Ảnh đại diện',
1313+ 'reset' => 'đặt lại',
1314 'rules' => 'Hãy chắc rằng ảnh đại diện của bạn tuân thủ :link.<br/>Điều này có nghĩa rằng ảnh phải <strong>phù hợp với mọi lứa tuổi</strong>. Ví dụ như không có nội dung khiêu gợi, thô tục hoặc gợi tưởng.',
1415 'rules_link' => 'những tiêu chuẩn cộng đồng',
1516 ],
+1
resources/lang/vi/beatmapsets.php
···17171818 'download' => [
1919 'limit_exceeded' => 'Chậm lại, chơi nhiều hơn.',
2020+ 'no_mirrors' => 'Không có sẵn máy chủ tải xuống nào cả.',
2021 ],
21222223 'featured_artist_badge' => [
···1414 ],
15151616 'judge' => [
1717+ 'comments' => 'bình luận',
1718 'hide_judged' => 'ẩn các bài thi đã được đánh giá',
1819 'nav_title' => 'đánh giá',
1920 'no_current_vote' => 'bạn vẫn chưa bầu chọn.',
+1-1
resources/lang/vi/rankings.php
···4040 'seasons' => [
4141 'empty' => 'Hiện tại chưa có phòng nào ở mùa này.',
4242 'ongoing' => 'Mùa đang diễn ra (sẽ có nhiều playlist được thêm vào).',
4343- 'room_count' => 'Số playlist',
4343+ 'room_count' => 'Số danh sách phát',
4444 'url' => 'Hiện thêm thông tin về mùa đó.',
4545 ],
4646
+16-15
resources/lang/vi/users.php
···8899 'beatmapset_activities' => [
1010 'title' => "Lịch Sử Modding Của :user",
1111- 'title_compact' => 'Modding',
1111+ 'title_compact' => 'Sửa đổi',
12121313 'discussions' => [
1414 'title_recent' => 'Cuộc thảo luận gần đây',
···5959 'password' => 'mật khẩu',
6060 'password_confirmation' => 'xác nhận mật khẩu',
6161 'submit' => 'tạo tài khoản',
6262- 'user_email' => 'email',
6363- 'user_email_confirmation' => 'xác nhận email',
6262+ 'user_email' => 'thư điện tử',
6363+ 'user_email_confirmation' => 'xác nhận thư điện tử',
6464 'username' => 'tên người dùng',
65656666 'tos_notice' => [
···197197 'to_1' => 'Hiện ảnh bìa',
198198 ],
199199 'daily_challenge' => [
200200- 'daily' => '',
201201- 'daily_streak_best' => '',
202202- 'daily_streak_current' => '',
203203- 'title' => '',
204204- 'top_10p_placements' => '',
205205- 'top_50p_placements' => '',
206206- 'weekly' => '',
207207- 'weekly_streak_best' => '',
208208- 'weekly_streak_current' => '',
200200+ 'daily' => 'Chuỗi chơi hằng ngày',
201201+ 'daily_streak_best' => 'Chuỗi chơi hằng ngày tốt nhất',
202202+ 'daily_streak_current' => 'Chuỗi chơi hằng ngày hiện tại',
203203+ 'playcount' => '',
204204+ 'title' => 'Thử thách\nhằng ngày',
205205+ 'top_10p_placements' => '10% vị trí hàng đầu',
206206+ 'top_50p_placements' => '50% vị trí hàng đầu',
207207+ 'weekly' => 'Chuỗi chơi hàng tuần',
208208+ 'weekly_streak_best' => 'Chuỗi chơi hàng tuần tốt nhất',
209209+ 'weekly_streak_current' => 'Chuỗi chơi hàng tuần hiện tại',
209210210211 'unit' => [
211211- 'day' => '',
212212- 'week' => '',
212212+ 'day' => ':valued',
213213+ 'week' => ':valuew',
213214 ],
214215 ],
215216 'edit' => [
···388389 'title' => 'Màn chơi nhiều người chơi',
389390 ],
390391 'top_ranks' => [
391391- 'download_replay' => 'Tải Xuống Replay',
392392+ 'download_replay' => 'Tải Xuống Phần Phát Lại',
392393 'not_ranked' => 'Chỉ có beatmap được xếp hạng mới có pp.',
393394 'pp_weight' => 'trọng số :percentage',
394395 'view_details' => 'Xem chi tiết',
···11-/**
22- * Copyright (c) ppy Pty Ltd <contact@ppy.sh>.
33- *
44- * This file is part of osu!web. osu!web is distributed with the hope of
55- * attracting more community contributions to the core ecosystem of osu!.
66- *
77- * osu!web is free software: you can redistribute it and/or modify
88- * it under the terms of the Affero GNU General Public License version 3
99- * as published by the Free Software Foundation.
1010- *
1111- * osu!web is distributed WITHOUT ANY WARRANTY; without even the implied
1212- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1313- * See the GNU Affero General Public License for more details.
1414- *
1515- * You should have received a copy of the GNU Affero General Public License
1616- * along with osu!web. If not, see <http://www.gnu.org/licenses/>.
1717- */
11+// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
22+// See the LICENCE file in the repository root for full licence text.
183194'use strict';
205
+17-24
tests/karma/osu-core.spec.ts
···11// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
22// See the LICENCE file in the repository root for full licence text.
3344-import UserJson from 'interfaces/user-json';
54import User from 'models/user';
65import OsuCore from 'osu-core';
66+import testCurrentUserJson from './test-current-user-json';
7788-describe('OsuCore user:update subscriber testing thing', () => {
99- it('user:update should update the user store from a JSON value', () => {
88+const expectedUser = new User(1);
99+expectedUser.updateWithJson(testCurrentUserJson);
1010+1111+describe('OsuCore user update', () => {
1212+ it('.setCurrentUser should update the user store from a JSON value', () => {
1013 const core = new OsuCore();
1414+ core.setCurrentUser(testCurrentUserJson);
11151212- const json: UserJson = {
1313- avatar_url: '',
1414- country_code: '',
1515- cover: { custom_url: null, id: null, url: null },
1616- default_group: '',
1717- id: 1,
1818- is_active: true,
1919- is_bot: false,
2020- is_deleted: false,
2121- is_online: true,
2222- is_supporter: true,
2323- last_visit: null,
2424- pm_friends_only: false,
2525- profile_colour: null,
2626- username: 'foo',
2727- };
1616+ expect(core.dataStore.userStore.users.get(1)).toEqual(expectedUser);
1717+ expect(core.dataStore.userStore.users.size).toEqual(1);
1818+ });
28192929- const user = new User(json.id);
3030- user.updateWithJson(json);
3131-3232- $.publish('user:update', json);
2020+ it('user:update subscriber should update the user store from a JSON value', () => {
2121+ const core = new OsuCore();
2222+ $.publish('user:update', testCurrentUserJson);
33233434- expect(core.dataStore.userStore.users.get(1)).toEqual(user);
2424+ expect(core.dataStore.userStore.users.get(1)).toEqual(expectedUser);
3525 expect(core.dataStore.userStore.users.size).toEqual(1);
2626+2727+ // unset the singleton
2828+ $.publish('user:update', { id: undefined });
3629 });
3730});