the browser-facing portion of osu!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'master' into feature/beatmaps-multiple-mappers

+2956 -837
+3
.env.example
··· 319 319 320 320 # COUNTRY_PERFORMANCE_USER_COUNT=1000 321 321 # COUNTRY_PERFORMANCE_WEIGHTING_FACTOR=0.99 322 + 323 + # TAGS_CACHE_DURATION=60 324 + # BEATMAP_TAGS_CACHE_DURATION=60
-12
app/Http/Controllers/BeatmapDiscussionsController.php
··· 117 117 return ext_view('beatmap_discussions.index', compact('json', 'search', 'paginator')); 118 118 } 119 119 120 - public function mediaUrl() 121 - { 122 - $url = presence(get_string(request('url'))); 123 - 124 - if (!isset($url)) { 125 - return response('Missing url parameter', 422); 126 - } 127 - 128 - // Tell browser not to request url for a while. 129 - return redirect(proxy_media($url))->header('Cache-Control', 'max-age=600'); 130 - } 131 - 132 120 public function restore($id) 133 121 { 134 122 $discussion = BeatmapDiscussion::whereNotNull('deleted_at')->findOrFail($id);
+71
app/Http/Controllers/BeatmapTagsController.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Http\Controllers; 9 + 10 + use App\Models\Beatmap; 11 + use App\Models\BeatmapTag; 12 + use App\Models\Tag; 13 + 14 + class BeatmapTagsController extends Controller 15 + { 16 + public function __construct() 17 + { 18 + parent::__construct(); 19 + 20 + $this->middleware('auth', [ 21 + 'only' => [ 22 + 'store', 23 + 'destroy', 24 + ], 25 + ]); 26 + 27 + $this->middleware('require-scopes:public', ['only' => 'index']); 28 + } 29 + 30 + public function index($beatmapId) 31 + { 32 + $topBeatmapTags = cache_remember_mutexed( 33 + "beatmap_tags:{$beatmapId}", 34 + $GLOBALS['cfg']['osu']['tags']['beatmap_tags_cache_duration'], 35 + [], 36 + fn () => Tag::topTags($beatmapId), 37 + ); 38 + 39 + return [ 40 + 'beatmap_tags' => $topBeatmapTags, 41 + ]; 42 + } 43 + 44 + public function destroy($beatmapId, $tagId) 45 + { 46 + BeatmapTag::where('tag_id', $tagId) 47 + ->where('beatmap_id', $beatmapId) 48 + ->where('user_id', \Auth::user()->getKey()) 49 + ->delete(); 50 + 51 + return response()->noContent(); 52 + } 53 + 54 + public function store($beatmapId) 55 + { 56 + $tagId = get_int(request('tag_id')); 57 + 58 + $beatmap = Beatmap::findOrFail($beatmapId); 59 + priv_check('BeatmapTagStore', $beatmap)->ensureCan(); 60 + 61 + $tag = Tag::findOrFail($tagId); 62 + 63 + $user = \Auth::user(); 64 + 65 + $tag 66 + ->beatmapTags() 67 + ->firstOrCreate(['beatmap_id' => $beatmapId, 'user_id' => $user->getKey()]); 68 + 69 + return response()->noContent(); 70 + } 71 + }
+36
app/Http/Controllers/ProxyMediaController.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Http\Controllers; 9 + 10 + class ProxyMediaController extends Controller 11 + { 12 + private static function fromNonBrowser(): bool 13 + { 14 + $headers = \Request::instance()->headers; 15 + 16 + return $headers->get('origin') === null 17 + && $headers->get('referer') === null 18 + && $headers->get('sec-fetch-site') === null; 19 + } 20 + 21 + public function __invoke() 22 + { 23 + if (!static::fromNonBrowser() && !from_app_url()) { 24 + return response('Forbidden', 403); 25 + } 26 + 27 + $url = presence(get_string(\Request::input('url'))); 28 + 29 + if (!isset($url)) { 30 + return response('Missing url parameter', 422); 31 + } 32 + 33 + // Tell browser to cache redirect url for a while. 34 + return redirect(proxy_media($url))->header('Cache-Control', 'max-age=86400'); 35 + } 36 + }
+35
app/Http/Controllers/TagsController.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Http\Controllers; 9 + 10 + use App\Models\Tag; 11 + use App\Transformers\TagTransformer; 12 + 13 + class TagsController extends Controller 14 + { 15 + public function __construct() 16 + { 17 + parent::__construct(); 18 + 19 + $this->middleware('require-scopes:public'); 20 + } 21 + 22 + public function index() 23 + { 24 + $tags = cache_remember_mutexed( 25 + 'tags', 26 + $GLOBALS['cfg']['osu']['tags']['tags_cache_duration'], 27 + [], 28 + fn () => Tag::all(), 29 + ); 30 + 31 + return [ 32 + 'tags' => json_collection($tags, new TagTransformer()), 33 + ]; 34 + } 35 + }
+26
app/Http/Controllers/TeamsController.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Http\Controllers; 9 + 10 + use App\Models\Team; 11 + use App\Transformers\UserCompactTransformer; 12 + use Symfony\Component\HttpFoundation\Response; 13 + 14 + class TeamsController extends Controller 15 + { 16 + public function show(string $id): Response 17 + { 18 + $team = Team 19 + ::with(array_map( 20 + fn (string $preload): string => "members.user.{$preload}", 21 + UserCompactTransformer::CARD_INCLUDES_PRELOAD, 22 + ))->findOrFail($id); 23 + 24 + return ext_view('teams.show', compact('team')); 25 + } 26 + }
+21 -16
app/Libraries/BBCodeFromDB.php
··· 196 196 preg_match_all("#\[img:{$this->uid}\](?<url>[^[]+)\[/img:{$this->uid}\]#", $text, $images, PREG_SET_ORDER); 197 197 198 198 $index = 0; 199 + $replacements = []; 199 200 200 201 foreach ($images as $i) { 201 202 $proxiedSrc = proxy_media(html_entity_decode_better($i['url'])); 202 203 203 - $imageTag = $galleryAttributes = ''; 204 + $attributes = [ 205 + 'alt' => '', 206 + 'src' => $proxiedSrc, 207 + 'loading' => 'lazy', 208 + ]; 209 + 204 210 $imageSize = fast_imagesize($proxiedSrc); 211 + if ($imageSize !== null && $imageSize[1] !== 0) { 212 + $aspectRatio = round($imageSize[0] / $imageSize[1], 4); 205 213 206 - if ($imageSize !== null && $imageSize[0] !== 0) { 207 - $heightPercentage = $imageSize[1] / $imageSize[0] * 100; 214 + $attributes['style'] = "aspect-ratio: {$aspectRatio}; width: {$imageSize[0]}px;"; 208 215 209 - $topClass = 'proportional-container'; 210 216 if ($this->options['withGallery']) { 211 - $topClass .= ' js-gallery'; 212 - $galleryAttributes = " data-width='{$imageSize[0]}' data-height='{$imageSize[1]}' data-index='{$index}' data-gallery-id='{$this->refId}' data-src='{$proxiedSrc}'"; 217 + $attributes = [ 218 + ...$attributes, 219 + 'class' => 'js-gallery', 220 + 'data-width' => $imageSize[0], 221 + 'data-height' => $imageSize[1], 222 + 'data-index' => $index, 223 + 'data-gallery-id' => $this->refId, 224 + 'data-src' => $proxiedSrc, 225 + ]; 213 226 } 214 227 215 - $imageTag .= "<span class='{$topClass}' style='width: {$imageSize[0]}px;'$galleryAttributes>"; 216 - $imageTag .= "<span class='proportional-container__height' style='padding-bottom: {$heightPercentage}%;'>"; 217 - $imageTag .= lazy_load_image($proxiedSrc, 'proportional-container__content'); 218 - $imageTag .= '</span>'; 219 - $imageTag .= '</span>'; 220 - 221 228 $index += 1; 222 - } else { 223 - $imageTag .= lazy_load_image($proxiedSrc); 224 229 } 225 230 226 - $text = str_replace($i[0], $imageTag, $text); 231 + $replacements[$i[0]] = tag('img', $attributes); 227 232 } 228 233 229 - return $text; 234 + return strtr($text, $replacements); 230 235 } 231 236 232 237 public function parseInlineCode(string $text): string
+5
app/Models/Beatmap.php
··· 126 126 return $this->hasMany(BeatmapDiscussion::class); 127 127 } 128 128 129 + public function beatmapTags() 130 + { 131 + return $this->hasMany(BeatmapTag::class); 132 + } 133 + 129 134 public function difficulty() 130 135 { 131 136 return $this->hasMany(BeatmapDifficulty::class);
+31
app/Models/BeatmapTag.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Models; 9 + 10 + /** 11 + * @property-read Beatmap $beatmap 12 + * @property int $beatmap_id 13 + * @property int $tag_id 14 + * @property-read User $user 15 + * @property int $user_id 16 + */ 17 + class BeatmapTag extends Model 18 + { 19 + protected $primaryKey = ':composite'; 20 + protected $primaryKeys = ['beatmap_id', 'tag_id', 'user_id']; 21 + 22 + public function beatmap() 23 + { 24 + return $this->belongsTo(Beatmap::class, 'beatmap_id'); 25 + } 26 + 27 + public function user() 28 + { 29 + return $this->belongsTo(User::class, 'user_id'); 30 + } 31 + }
+41
app/Models/Tag.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Models; 9 + 10 + use Illuminate\Database\Eloquent\Collection; 11 + use Illuminate\Database\Eloquent\Relations\HasMany; 12 + 13 + /** 14 + * @property int $id 15 + * @property string $name 16 + * @property string $description 17 + * @property-read Collection<BeatmapTag> $beatmapTags 18 + */ 19 + class Tag extends Model 20 + { 21 + public function beatmapTags(): HasMany 22 + { 23 + return $this->hasMany(BeatmapTag::class); 24 + } 25 + 26 + public static function topTags($beatmapId) 27 + { 28 + return static 29 + ::joinRelation( 30 + 'beatmapTags', 31 + fn ($q) => $q->where('beatmap_id', $beatmapId)->whereHas('user', fn ($userQuery) => $userQuery->default()) 32 + ) 33 + ->groupBy('id') 34 + ->select('id', 'name') 35 + ->selectRaw('COUNT(*) as count') 36 + ->orderBy('count', 'desc') 37 + ->orderBy('id', 'desc') 38 + ->limit(50) 39 + ->get(); 40 + } 41 + }
+82
app/Models/Team.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Models; 9 + 10 + use App\Libraries\BBCodeForDB; 11 + use App\Libraries\Uploader; 12 + use Illuminate\Database\Eloquent\Relations\HasMany; 13 + 14 + class Team extends Model 15 + { 16 + protected $casts = ['is_open' => 'bool']; 17 + 18 + private Uploader $header; 19 + private Uploader $logo; 20 + 21 + public function applications(): HasMany 22 + { 23 + return $this->hasMany(TeamApplication::class); 24 + } 25 + 26 + public function leader(): BelongsTo 27 + { 28 + return $this->belongsTo(User::class, 'leader_id'); 29 + } 30 + 31 + public function members(): HasMany 32 + { 33 + return $this->hasMany(TeamMember::class); 34 + } 35 + 36 + public function setHeaderAttribute(?string $value): void 37 + { 38 + if ($value === null) { 39 + $this->header()->delete(); 40 + } else { 41 + $this->header()->store($value); 42 + } 43 + } 44 + 45 + public function setLogoAttribute(?string $value): void 46 + { 47 + if ($value === null) { 48 + $this->logo()->delete(); 49 + } else { 50 + $this->logo()->store($value); 51 + } 52 + } 53 + 54 + public function descriptionHtml(): string 55 + { 56 + $description = presence($this->description); 57 + 58 + return $description === null 59 + ? '' 60 + : bbcode((new BBCodeForDB($description))->generate()); 61 + } 62 + 63 + public function header(): Uploader 64 + { 65 + return $this->header ??= new Uploader( 66 + 'teams/header', 67 + $this, 68 + 'header_file', 69 + ['image' => ['maxDimensions' => [1000, 250]]], 70 + ); 71 + } 72 + 73 + public function logo(): Uploader 74 + { 75 + return $this->logo ??= new Uploader( 76 + 'teams/logo', 77 + $this, 78 + 'logo_file', 79 + ['image' => ['maxDimensions' => [256, 128]]], 80 + ); 81 + } 82 + }
+27
app/Models/TeamMember.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Models; 9 + 10 + use Illuminate\Database\Eloquent\Relations\BelongsTo; 11 + 12 + class TeamMember extends Model 13 + { 14 + public $incrementing = false; 15 + 16 + protected $primaryKey = 'user_id'; 17 + 18 + public function team(): BelongsTo 19 + { 20 + return $this->belongsTo(Team::class); 21 + } 22 + 23 + public function user(): BelongsTo 24 + { 25 + return $this->belongsTo(User::class, 'user_id'); 26 + } 27 + }
+13 -11
app/Models/User.php
··· 127 127 * @property-read Collection<Store\Address> $storeAddresses 128 128 * @property-read Collection<UserDonation> $supporterTagPurchases 129 129 * @property-read Collection<UserDonation> $supporterTags 130 + * @property-read TeamMember|null $teamMembership 130 131 * @property-read Collection<OAuth\Token> $tokens 131 132 * @property-read Collection<Forum\TopicWatch> $topicWatches 132 133 * @property-read Collection<UserAchievement> $userAchievements ··· 294 295 public function userCountryHistory(): HasMany 295 296 { 296 297 return $this->hasMany(UserCountryHistory::class); 298 + } 299 + 300 + public function teamMembership(): HasOne 301 + { 302 + return $this->hasOne(TeamMember::class, 'user_id'); 297 303 } 298 304 299 305 public function getAuthPassword() ··· 952 958 'storeAddresses', 953 959 'supporterTagPurchases', 954 960 'supporterTags', 961 + 'teamMembership', 955 962 'tokens', 956 963 'topicWatches', 957 964 'userAchievements', ··· 2323 2330 $this->isValidEmail(); 2324 2331 } 2325 2332 2326 - if ($this->isDirty('country_acronym')) { 2327 - if (present($this->country_acronym)) { 2328 - $country = app('countries')->byCode($this->country_acronym); 2329 - if ($country === null) { 2330 - $this->validationErrors()->add('country', '.invalid_country'); 2331 - } else { 2332 - // ensure matching case 2333 - $this->country_acronym = $country->getKey(); 2334 - } 2335 - } else { 2336 - $this->country_acronym = Country::UNKNOWN; 2333 + $countryAcronym = $this->country_acronym; 2334 + if ($countryAcronym === null) { 2335 + $this->country_acronym = Country::UNKNOWN; 2336 + } elseif ($this->isDirty('country_acronym') && $countryAcronym !== Country::UNKNOWN) { 2337 + if (app('countries')->byCode($countryAcronym) === null) { 2338 + $this->validationErrors()->add('country', '.invalid_country'); 2337 2339 } 2338 2340 } 2339 2341
+6 -5
app/Singletons/CleanHTML.php
··· 51 51 52 52 $def->addAttribute('img', 'loading', 'Text'); 53 53 $def->addAttribute('img', 'src', 'Text'); 54 + $def->addAttribute('img', 'style', 'Text'); 54 55 55 - $def->addAttribute('span', 'data-src', 'Text'); 56 - $def->addAttribute('span', 'data-height', 'Text'); 57 - $def->addAttribute('span', 'data-width', 'Text'); 58 - $def->addAttribute('span', 'data-index', 'Text'); 59 - $def->addAttribute('span', 'data-gallery-id', 'Text'); 56 + $def->addAttribute('img', 'data-src', 'Text'); 57 + $def->addAttribute('img', 'data-height', 'Text'); 58 + $def->addAttribute('img', 'data-width', 'Text'); 59 + $def->addAttribute('img', 'data-index', 'Text'); 60 + $def->addAttribute('img', 'data-gallery-id', 'Text'); 60 61 61 62 $def->addAttribute('a', 'data-user-id', 'Text'); 62 63
+14
app/Singletons/OsuAuthorize.php
··· 2052 2052 return 'unauthorized'; 2053 2053 } 2054 2054 2055 + public function checkBeatmapTagStore(?User $user, Beatmap $beatmap): string 2056 + { 2057 + $prefix = 'beatmap_tag.store.'; 2058 + 2059 + $this->ensureLoggedIn($user); 2060 + $this->ensureCleanRecord($user); 2061 + 2062 + if (!$user->soloScores()->where('beatmap_id', $beatmap->getKey())->exists()) { 2063 + return $prefix.'no_score'; 2064 + } 2065 + 2066 + return 'ok'; 2067 + } 2068 + 2055 2069 /** 2056 2070 * @throws AuthorizationCheckException 2057 2071 */
+22
app/Transformers/TagTransformer.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace App\Transformers; 9 + 10 + use App\Models\Tag; 11 + 12 + class TagTransformer extends TransformerAbstract 13 + { 14 + public function transform(Tag $item) 15 + { 16 + return [ 17 + 'id' => $item->getKey(), 18 + 'name' => $item->name, 19 + 'description' => $item->description, 20 + ]; 21 + } 22 + }
+24 -13
app/helpers.php
··· 922 922 $namespaceKey = "{$currentRoute['namespace']}._"; 923 923 $namespaceKey = match ($namespaceKey) { 924 924 'admin_forum._' => 'admin._', 925 + 'teams._' => 'main.teams_controller._', 925 926 default => $namespaceKey, 926 927 }; 927 928 $keys = [ ··· 942 943 function ujs_redirect($url, $status = 200) 943 944 { 944 945 $request = Request::instance(); 945 - if ($request->ajax() && !$request->isMethod('get')) { 946 + // This is done mainly to work around fetch ignoring/removing anchor from page redirect. 947 + // Reference: https://github.com/hotwired/turbo/issues/211 948 + if ($request->headers->get('x-turbo-request-id') !== null) { 949 + if ($status === 200 && $request->getMethod() !== 'GET') { 950 + // Turbo doesn't like 200 response on non-GET requests. 951 + // Reference: https://github.com/hotwired/turbo/issues/22 952 + $status = 201; 953 + } 954 + 955 + return response($url, $status, ['content-type' => 'text/osu-turbo-redirect']); 956 + } elseif ($request->ajax() && $request->getMethod() !== 'GET') { 946 957 return ext_view('layout.ujs-redirect', compact('url'), 'js', $status); 947 958 } else { 948 959 // because non-3xx redirects make no sense. ··· 1082 1093 return rtrim(str_replace($params['path'], $path, route($route, $params, $fullUrl)), '/'); 1083 1094 } 1084 1095 1085 - function bbcode($text, $uid, $options = []) 1096 + function bbcode($text, $uid = null, $options = []) 1086 1097 { 1087 1098 return (new App\Libraries\BBCodeFromDB($text, $uid, $options))->toHTML(); 1088 1099 } ··· 1103 1114 return ''; 1104 1115 } 1105 1116 1106 - $url = html_entity_decode_better($url); 1107 - 1108 1117 if ($GLOBALS['cfg']['osu']['camo']['key'] === null) { 1109 1118 return $url; 1110 1119 } 1111 1120 1112 - $isProxied = starts_with($url, $GLOBALS['cfg']['osu']['camo']['prefix']); 1121 + $isProxied = str_starts_with($url, $GLOBALS['cfg']['osu']['camo']['prefix']); 1113 1122 1114 1123 if ($isProxied) { 1115 1124 return $url; 1116 1125 } 1117 1126 1118 1127 // turn relative urls into absolute urls 1119 - if (!preg_match('/^https?\:\/\//', $url)) { 1128 + if (!is_http($url)) { 1120 1129 // ensure url is relative to the site root 1121 1130 if ($url[0] !== '/') { 1122 1131 $url = "/{$url}"; ··· 1760 1769 } 1761 1770 1762 1771 // Used to generate x,y pairs for fancy-chart.coffee 1763 - function array_to_graph_json(array &$array, $property_to_use) 1772 + function array_to_graph_json(array $array, string $fieldName): array 1764 1773 { 1765 - $index = 0; 1774 + $ret = []; 1766 1775 1767 - return array_map(function ($e) use (&$index, $property_to_use) { 1768 - return [ 1769 - 'x' => $index++, 1770 - 'y' => $e[$property_to_use], 1776 + foreach ($array as $index => $item) { 1777 + $ret[] = [ 1778 + 'x' => $index, 1779 + 'y' => $item[$fieldName], 1771 1780 ]; 1772 - }, $array); 1781 + } 1782 + 1783 + return $ret; 1773 1784 } 1774 1785 1775 1786 // Fisher-Yates
+4
config/osu.php
··· 201 201 'store' => [ 202 202 'notice' => presence(str_replace('\n', "\n", env('STORE_NOTICE') ?? '')), 203 203 ], 204 + 'tags' => [ 205 + 'tags_cache_duration' => 60 * (get_int(env('TAGS_CACHE_DURATION')) ?? 60), // in minutes, converted to seconds 206 + 'beatmap_tags_cache_duration' => 60 * (get_int(env('BEATMAP_TAGS_CACHE_DURATION')) ?? 60), // in minutes, converted to seconds 207 + ], 204 208 'twitch_client_id' => presence(env('TWITCH_CLIENT_ID')), 205 209 'twitch_client_secret' => presence(env('TWITCH_CLIENT_SECRET')), 206 210 'urls' => [
+27
database/factories/BeatmapTagFactory.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace Database\Factories; 9 + 10 + use App\Models\Beatmap; 11 + use App\Models\BeatmapTag; 12 + use App\Models\Tag; 13 + use App\Models\User; 14 + 15 + class BeatmapTagFactory extends Factory 16 + { 17 + protected $model = BeatmapTag::class; 18 + 19 + public function definition(): array 20 + { 21 + return [ 22 + 'beatmap_id' => Beatmap::factory(), 23 + 'tag_id' => Tag::factory(), 24 + 'user_id' => User::factory(), 25 + ]; 26 + } 27 + }
+23
database/factories/TagFactory.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace Database\Factories; 9 + 10 + use App\Models\Tag; 11 + 12 + class TagFactory extends Factory 13 + { 14 + protected $model = Tag::class; 15 + 16 + public function definition(): array 17 + { 18 + return [ 19 + 'name' => fn () => "Tag {$this->faker->word}", 20 + 'description' => fn () => $this->faker->sentence, 21 + ]; 22 + } 23 + }
+32
database/factories/TeamFactory.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace Database\Factories; 9 + 10 + use App\Models\Team; 11 + use App\Models\User; 12 + 13 + class TeamFactory extends Factory 14 + { 15 + protected $model = Team::class; 16 + 17 + public function configure(): static 18 + { 19 + return $this->afterCreating(function (Team $team): void { 20 + $team->members()->create(['user_id' => $team->leader_id]); 21 + }); 22 + } 23 + 24 + public function definition(): array 25 + { 26 + return [ 27 + 'name' => fn () => $this->faker->name(), 28 + 'short_name' => fn () => $this->faker->domainWord(), 29 + 'leader_id' => User::factory(), 30 + ]; 31 + } 32 + }
+26
database/migrations/2024_11_26_093900_create_tags_table.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + use Illuminate\Database\Migrations\Migration; 9 + use Illuminate\Database\Schema\Blueprint; 10 + 11 + return new class extends Migration { 12 + public function up(): void 13 + { 14 + Schema::create('tags', function (Blueprint $table) { 15 + $table->id(); 16 + $table->string('name')->unique(); 17 + $table->string('description'); 18 + $table->timestamps(); 19 + }); 20 + } 21 + 22 + public function down(): void 23 + { 24 + Schema::dropIfExists('tags'); 25 + } 26 + };
+28
database/migrations/2024_11_26_093901_create_beatmap_tags_table.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + use Illuminate\Database\Migrations\Migration; 9 + use Illuminate\Database\Schema\Blueprint; 10 + 11 + return new class extends Migration { 12 + public function up(): void 13 + { 14 + Schema::create('beatmap_tags', function (Blueprint $table) { 15 + $table->unsignedInteger('beatmap_id'); 16 + $table->unsignedInteger('tag_id'); 17 + $table->unsignedInteger('user_id'); 18 + $table->timestamps(); 19 + 20 + $table->primary(['beatmap_id', 'tag_id', 'user_id']); 21 + }); 22 + } 23 + 24 + public function down(): void 25 + { 26 + Schema::dropIfExists('beatmap_tags'); 27 + } 28 + };
+39
database/migrations/2024_11_30_000000_create_teams.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + use Illuminate\Database\Migrations\Migration; 9 + use Illuminate\Database\Schema\Blueprint; 10 + use Illuminate\Support\Facades\Schema; 11 + 12 + return new class extends Migration 13 + { 14 + public function up(): void 15 + { 16 + Schema::create('teams', function (Blueprint $table) { 17 + $table->id(); 18 + $table->string('name')->nullable(false); 19 + $table->string('short_name')->nullable(false); 20 + $table->string('logo_file')->nullable(true); 21 + $table->string('header_file')->nullable(true); 22 + $table->string('url')->nullable(true); 23 + $table->text('description')->nullable(true); 24 + $table->boolean('is_open')->nullable(false)->default(true); 25 + $table->smallInteger('default_ruleset_id')->nullable(false)->default(0); 26 + $table->bigInteger('leader_id')->nullable(false); 27 + $table->timestampTz('created_at')->useCurrent(); 28 + $table->timestampTz('updated_at')->useCurrent(); 29 + 30 + $table->unique('name'); 31 + $table->unique('short_name'); 32 + }); 33 + } 34 + 35 + public function down(): void 36 + { 37 + Schema::dropIfExists('teams'); 38 + } 39 + };
+30
database/migrations/2024_11_30_000001_create_team_members.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + use Illuminate\Database\Migrations\Migration; 9 + use Illuminate\Database\Schema\Blueprint; 10 + use Illuminate\Support\Facades\Schema; 11 + 12 + return new class extends Migration 13 + { 14 + public function up(): void 15 + { 16 + Schema::create('team_members', function (Blueprint $table) { 17 + $table->unsignedBigInteger('user_id')->primary(); 18 + $table->unsignedBigInteger('team_id')->nullable(false); 19 + $table->timestampTz('created_at')->useCurrent(); 20 + $table->timestampTz('updated_at')->useCurrent(); 21 + 22 + $table->index('team_id'); 23 + }); 24 + } 25 + 26 + public function down(): void 27 + { 28 + Schema::dropIfExists('team_members'); 29 + } 30 + };
+2 -1
package.json
··· 18 18 "@types/bootstrap": "^3.3.0", 19 19 "@types/cloudflare-turnstile": "^0.1.5", 20 20 "@types/d3": "^7.1.0", 21 - "@types/hotwired__turbo": "^8.0.1", 21 + "@types/hotwired__turbo": "^8.0.2", 22 22 "@types/is-hotkey": "^0.1.1", 23 23 "@types/jasmine": "^3.3.13", 24 24 "@types/jquery": "^3.3.0", ··· 93 93 "tsconfig-paths-webpack-plugin": "^3.2.0", 94 94 "typescript": "^5.2.2", 95 95 "unified": "^10.1.2", 96 + "uuid": "^11.0.3", 96 97 "watchpack": "^2.4.0", 97 98 "webpack": "^5.94.0", 98 99 "webpack-cli": "^5.1.4",
+1 -1
resources/css/bbcode.less
··· 6 6 .bbcode { 7 7 @_top: bbcode; 8 8 .content-font(); 9 - word-wrap: break-word; 9 + overflow-wrap: anywhere; 10 10 line-height: 1.5; 11 11 12 12 code {
+4 -1
resources/css/bem-index.less
··· 318 318 @import "bem/profile-rank-count"; 319 319 @import "bem/profile-stats"; 320 320 @import "bem/profile-tournament-banner"; 321 - @import "bem/proportional-container"; 322 321 @import "bem/qtip"; 323 322 @import "bem/quick-search"; 324 323 @import "bem/quick-search-input"; ··· 383 382 @import "bem/supporter-promo"; 384 383 @import "bem/supporter-quote"; 385 384 @import "bem/supporter-status"; 385 + @import "bem/team-info-entries"; 386 + @import "bem/team-info-entry"; 387 + @import "bem/team-members"; 388 + @import "bem/team-summary"; 386 389 @import "bem/textual-button"; 387 390 @import "bem/title"; 388 391 @import "bem/tooltip-achievement";
-2
resources/css/bem/account-edit.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .account-edit { 5 - @top: account-edit; 6 - 7 5 @section-width: 250px; 8 6 @label-width: 150px; 9 7 @input-width: 250px;
-2
resources/css/bem/admin-contest.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .admin-contest { 5 - @top: admin-contest; 6 - 7 5 &__meta-row { 8 6 margin-bottom: 5px; 9 7 color: @osu-colour-f1;
-1
resources/css/bem/beatmap-discussion-new-float.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .beatmap-discussion-new-float { 5 - @top: beatmap-discussion-new-float; 6 5 margin-bottom: 10px; 7 6 pointer-events: none; 8 7
-2
resources/css/bem/block-list-item.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .block-list-item { 5 - @top: block-list-item; 6 - 7 5 display: flex; 8 6 .default-border-radius(); 9 7 background: @osu-colour-b2;
-2
resources/css/bem/chat-conversation.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .chat-conversation { 5 - @top: chat-conversation; 6 - 7 5 padding: 10px 20px; 8 6 background: @osu-colour-b4; 9 7 flex-direction: column;
-2
resources/css/bem/chat-message-group.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .chat-message-group { 5 - @top: chat-message-group; 6 - 7 5 margin: 10px; 8 6 margin-left: 0; 9 7 margin-right: 120px;
-1
resources/css/bem/contest-voting-list.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .contest-voting-list { 5 - @top: contest-entry-list; 6 5 &__table { 7 6 width: 100%; 8 7 max-width: (600px + 40px);
-4
resources/css/bem/forum-poll-option.less
··· 14 14 &__input { 15 15 margin-right: 10px; 16 16 } 17 - 18 - &__label { 19 - min-width: 0; 20 - } 21 17 }
-2
resources/css/bem/gallery-previews.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .gallery-previews { 5 - @top: gallery-previews; 6 - 7 5 padding: 0; 8 6 margin: 0; 9 7 position: relative;
-2
resources/css/bem/input-container.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .input-container { 5 - @top: input-container; 6 - 7 5 --label-font-size: @font-size--normal; 8 6 --label-line-height: 1.25; 9 7 --label-height: calc(
-2
resources/css/bem/password-reset.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .password-reset { 5 - @top: password-reset; 6 - 7 5 width: 100%; 8 6 max-width: 300px; 9 7 padding: 20px;
+21 -3
resources/css/bem/profile-info.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .profile-info { 5 + --avatar: none; 5 6 --avatar-radius-extended-desktop: 40px; 6 7 --avatar-radius-extended: 20px; 7 8 --avatar-radius: 20px; 8 9 --avatar-size-extended-desktop: @profile-avatar-size; 9 10 --avatar-size-extended: var(--content-height); 10 11 --avatar-size: var(--content-height); 12 + 13 + --avatar-height: var(--avatar-size); 14 + --avatar-width: var(--avatar-size); 15 + 16 + --bg: none; 17 + 11 18 --content-height: 65px; 19 + --vertical-padding: 10px; 20 + 12 21 --info-margin-extended-desktop: 20px; 13 22 --info-margin-extended: 10px; 14 23 --info-margin: 10px; 15 - --vertical-padding: 10px; 24 + 16 25 display: flex; 17 26 flex-direction: column; 18 27 flex: none; ··· 29 38 background-color: hsl(var(--hsl-b4)); 30 39 } 31 40 41 + &--team { 42 + --avatar-width: calc(var(--avatar-height) * 2); 43 + --avatar: url("~@images/headers/generic.jpg"); 44 + --bg: url("~@images/headers/generic.jpg"); 45 + background-color: hsl(var(--hsl-b4)); 46 + } 47 + 32 48 @media @desktop { 33 49 --avatar-radius-extended: var(--avatar-radius-extended-desktop); 34 50 --avatar-size-extended: var(--avatar-size-extended-desktop); ··· 38 54 &__avatar { 39 55 .own-layer(); // required by safari for border-radius to be applied correctly 40 56 flex: none; 41 - width: var(--avatar-size); 42 - height: var(--avatar-size); 57 + width: var(--avatar-width); 58 + height: var(--avatar-height); 43 59 border-radius: var(--avatar-radius); 44 60 overflow: hidden; 45 61 align-self: flex-end; 46 62 margin-bottom: var(--vertical-padding); 63 + background-image: var(--avatar); 47 64 .default-box-shadow(); 48 65 } 49 66 50 67 &__bg { 51 68 position: relative; 69 + background-image: var(--bg); 52 70 background-size: cover; 53 71 background-position: center; 54 72 height: 100px;
-23
resources/css/bem/proportional-container.less
··· 1 - // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 - // See the LICENCE file in the repository root for full licence text. 3 - 4 - .proportional-container { 5 - max-width: 100%; 6 - display: inline-block; 7 - // "simulate" inline alignment 8 - // Reference: https://stackoverflow.com/a/11107671 9 - vertical-align: top; 10 - 11 - &__height { 12 - display: block; 13 - position: relative; 14 - } 15 - 16 - &__content { 17 - position: absolute; 18 - height: 100%; 19 - width: 100%; 20 - top: 0; 21 - left: 0; 22 - } 23 - }
-1
resources/css/bem/supporter-perk-list.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .supporter-perk-list { 5 - @top: supporter-perk-list; 6 5 padding: 20px; 7 6 8 7 @media @mobile {
-1
resources/css/bem/supporter-status.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .supporter-status { 5 - @top: supporter-status; 6 5 @animation-rate: 937.5ms; // 64bpm (aka 128bpm at half-time) 7 6 color: white; 8 7
+8
resources/css/bem/team-info-entries.less
··· 1 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 + // See the LICENCE file in the repository root for full licence text. 3 + 4 + .team-info-entries { 5 + display: grid; 6 + gap: 10px; 7 + margin-bottom: 20px; 8 + }
+12
resources/css/bem/team-info-entry.less
··· 1 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 + // See the LICENCE file in the repository root for full licence text. 3 + 4 + .team-info-entry { 5 + display: grid; 6 + 7 + &__value { 8 + color: hsl(var(--hsl-c2)); 9 + display: grid; 10 + min-width: 0; 11 + } 12 + }
+22
resources/css/bem/team-members.less
··· 1 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 + // See the LICENCE file in the repository root for full licence text. 3 + 4 + .team-members { 5 + border-radius: @border-radius--large; 6 + display: grid; 7 + gap: 5px; 8 + padding: 5px; 9 + background-color: hsl(var(--hsl-b2)); 10 + 11 + &--owner { 12 + background-color: hsl(var(--hsl-orange-1)); 13 + color: hsl(var(--hsl-orange-4)); 14 + } 15 + 16 + &__meta { 17 + padding: 0 10px; 18 + font-weight: 600; 19 + display: grid; 20 + grid-template-columns: 1fr auto; 21 + } 22 + }
+41
resources/css/bem/team-summary.less
··· 1 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 + // See the LICENCE file in the repository root for full licence text. 3 + 4 + .team-summary { 5 + margin: 0 calc(var(--inner-gutter) * -1); 6 + padding: 0 var(--inner-gutter); 7 + 8 + display: grid; 9 + gap: 20px; 10 + grid-template-columns: 1fr; 11 + align-items: start; 12 + max-height: calc(70 * var(--vh)); 13 + overflow-y: scroll; 14 + 15 + @media @desktop { 16 + grid-template-columns: 2fr auto 3fr; 17 + } 18 + 19 + &__members { 20 + display: grid; 21 + gap: 10px; 22 + } 23 + 24 + &__sidebar { 25 + &--separator { 26 + display: none; 27 + 28 + @media @desktop { 29 + display: block; 30 + height: 100%; 31 + width: 2px; 32 + background-color: hsl(var(--hsl-b6)); 33 + } 34 + } 35 + 36 + @media @desktop { 37 + position: sticky; 38 + top: 0; 39 + } 40 + } 41 + }
+4
resources/css/bem/title.less
··· 59 59 margin: 0; 60 60 } 61 61 62 + &--page-extra-small-top { 63 + padding-top: 0; 64 + } 65 + 62 66 &__count { 63 67 color: @osu-colour-f1; 64 68 background-color: @osu-colour-b6;
-2
resources/css/bem/tooltip-default.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .tooltip-default { 5 - @top: tooltip-default; 6 - 7 5 .default-border-radius(); 8 6 9 7 border: 0 solid transparent;
+1 -1
resources/js/beatmap-discussions/image-link.tsx
··· 24 24 render() { 25 25 if (this.props.src == null) return null; 26 26 27 - const src = route('beatmapsets.discussions.media-url', { url: this.props.src }); 27 + const src = route('media-url', { url: this.props.src }); 28 28 const content = ( 29 29 <> 30 30 {!this.loaded && this.renderSpinner()}
+4 -3
resources/js/core/react-turbolinks.ts
··· 110 110 // Delayed to wait until cacheSnapshot finishes. The delay matches Turbolinks' defer. 111 111 window.setTimeout(() => { 112 112 this.destroy(); 113 - this.loadScripts(); 114 - this.boot(); 115 - this.timeoutScroll = window.setTimeout(this.scrollOnNewVisit, 100); 113 + this.loadScripts().then(() => { 114 + this.boot(); 115 + this.timeoutScroll = window.setTimeout(this.scrollOnNewVisit, 100); 116 + }); 116 117 }, 1); 117 118 }; 118 119
+2 -1
resources/js/models/chat/create-announcement.ts
··· 4 4 import UserJson from 'interfaces/user-json'; 5 5 import { action, autorun, computed, makeObservable, observable } from 'mobx'; 6 6 import { present } from 'utils/string'; 7 + import { v4 as uuidv4 } from 'uuid'; 7 8 import { maxMessageLength } from './channel'; 8 9 9 10 interface LocalStorageProps extends Record<InputKey, string> { ··· 33 34 @observable validUsers = new Map<number, UserJson>(); 34 35 35 36 private initialized = false; 36 - private readonly uuid = crypto.randomUUID(); 37 + private readonly uuid = uuidv4(); 37 38 38 39 @computed 39 40 get errors() {
+2 -1
resources/js/models/chat/message.ts
··· 6 6 import User from 'models/user'; 7 7 import * as moment from 'moment'; 8 8 import core from 'osu-core-singleton'; 9 + import { v4 as uuidv4 } from 'uuid'; 9 10 10 11 export default class Message { 11 12 @observable channelId = -1; 12 13 @observable content = ''; 13 14 @observable errored = false; 14 15 @observable isAction = false; 15 - @observable messageId: number | string = crypto.randomUUID(); 16 + @observable messageId: number | string = uuidv4(); 16 17 @observable persisted = false; 17 18 @observable senderId = -1; 18 19 @observable timestamp: string = moment().toISOString();
+2 -2
resources/js/profile-page/daily-challenge.tsx
··· 22 22 [Number.NEGATIVE_INFINITY, 'iron'], 23 23 ] as const; 24 24 for (const [minDays, value] of tiers) { 25 - if (days > minDays) { 25 + if (days >= minDays) { 26 26 return value; 27 27 } 28 28 } ··· 38 38 } 39 39 40 40 function tierStylePlaycount(count: number) { 41 - return tierStyle(count / 3); 41 + return tierStyle(Math.floor(count / 3)); 42 42 } 43 43 44 44 function tierStyleWeekly(weeks: number) {
+18
resources/js/setup-turbo.ts
··· 24 24 } 25 25 }); 26 26 27 + document.addEventListener('turbo:before-fetch-response', (e) => { 28 + if (!e.detail.fetchResponse.contentType?.match(/^text\/osu-turbo-redirect[ ;]*/)) { 29 + return; 30 + } 31 + 32 + e.preventDefault(); 33 + e.detail.fetchResponse.responseText.then((url) => { 34 + const [currentUrlBase, urlBase] = [document.location.href, url].map((u) => u.replace(/#.*/, '')); 35 + 36 + if (currentUrlBase === urlBase) { 37 + // a normal/advance visit to same url won't reload the page 38 + Turbo.visit(url, { action: 'replace' }); 39 + } else { 40 + Turbo.visit(url); 41 + } 42 + }); 43 + }); 44 + 27 45 // disable turbo navigation for old webs 28 46 document.addEventListener('turbo:click', (event) => { 29 47 const url = new URL(event.detail.url);
+2 -1
resources/js/utils/turbolinks.ts
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 import { VisitOptions } from '@hotwired/turbo'; 5 + import { v4 as uuidv4 } from 'uuid'; 5 6 6 7 export function currentUrl() { 7 8 return window.newUrl ?? document.location; ··· 59 60 const newLocation = new URL(url, document.baseURI); 60 61 61 62 const callback = () => { 62 - Turbo.session.history[action](newLocation, crypto.randomUUID()); 63 + Turbo.session.history[action](newLocation, uuidv4()); 63 64 Turbo.session.view.lastRenderedLocation = newLocation; 64 65 }; 65 66 if (action === 'replace' && window.newUrl == null) {
+12
resources/lang/ar/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'لا يمكن مراسلة شخص قام بحظرك او قمت بحظره.', 65 71 'friends_only' => 'المستخدم يحظر الرسائل من الاشخاص الذين ليسو على قائمة اصدقاءه.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'يمكن للمسؤول فقط عرض هذا المنتدى.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/ar/beatmap_discussions.php
··· 66 66 'version' => 'الصعوبة', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'سجل الدخول للرد',
+4
resources/lang/ar/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'مناقشة الخريطة', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/ar/forum.php
··· 80 80 'confirm_restore' => 'استعادة الموضوع حقاً؟', 81 81 'deleted' => 'موضوع محذوف', 82 82 'go_to_latest' => 'عرض اخر منشور', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'لقد قمت بالرد على هذا الموضوع', 84 85 'in_forum' => 'في :forum', 85 86 'latest_post' => ':when بواسطة :user',
+2 -2
resources/lang/ar/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/be/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Нельга адправіць паведамленне карыстальніку, які заблакаваў вас або якога заблакавалі вы.', 65 71 'friends_only' => 'Карыстальнік заблакаваў паведамленні ад людзей, якіх няма ў спісе сяброў.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Толькі адміністратар можа праглядаць гэты форум.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/be/beatmap_discussions.php
··· 66 66 'version' => 'Цяжкасть', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Каб адказаць, увайдзіце',
+4
resources/lang/be/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'бітмап-дыскусіі', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/be/forum.php
··· 80 80 'confirm_restore' => 'Сапраўды аднавіць тэму?', 81 81 'deleted' => 'выдаленая тэма', 82 82 'go_to_latest' => 'праглядзець апошні допіс', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Вы адказалі на гэтую тэму', 84 85 'in_forum' => 'у :forum', 85 86 'latest_post' => ':when ад :user',
+2 -2
resources/lang/be/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/bg/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Не може да се изпращат съобщения на потребител, който ви блокира или сте блокирали.', 65 71 'friends_only' => 'Потребителят блокира съобщения от всички, които не са в списъка му с приятели.', 66 72 'moderated' => 'Този канал в момента е ограничен.', 67 73 'no_access' => 'Нямате достъп до този канал.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Нямате право да публикувате изявления.', 69 75 'receive_friends_only' => 'Възможно е потребителят да не отговори, защото приемате съобщения само от хората в списъка ви с приятели.', 70 76 'restricted' => 'Не може да изпращате съобщения докато сте заглушени, ограничени или баннати.', 71 77 'silenced' => 'Не може да изпращате съобщения докато сте заглушени, ограничени или баннати.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Само админ може да види този форум.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/bg/beatmap_discussions.php
··· 66 66 'version' => 'Трудност', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Влез в профила си, за отговор',
+2 -2
resources/lang/bg/beatmapsets.php
··· 17 17 18 18 'download' => [ 19 19 'limit_exceeded' => 'Забави малко, играй повече.', 20 - 'no_mirrors' => '', 20 + 'no_mirrors' => 'Не е наличен сървър за изтегляне.', 21 21 ], 22 22 23 23 'featured_artist_badge' => [ ··· 52 52 53 53 'dialog' => [ 54 54 'confirmation' => 'Сигурни ли сте, че искате да номинирате този бийтмап?', 55 - 'different_nominator_warning' => '', 55 + 'different_nominator_warning' => 'Квалифицирането на бийтмап с различни номинатори ще рестартира позицията му в опашката.', 56 56 'header' => 'Номиниране на бийтмап', 57 57 'hybrid_warning' => 'бележка: може да се номинира само веднъж, затова се уверете че сте избрали всеки желан вид', 58 58 'current_main_ruleset' => 'Основният вид игра в момента е: :ruleset',
+4
resources/lang/bg/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'бийтмап дискусии', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/bg/forum.php
··· 80 80 'confirm_restore' => 'Наистина ли възстановявате темата?', 81 81 'deleted' => 'изтрита тема', 82 82 'go_to_latest' => 'виж най-новата публикация', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Вече отговорихте на тази тема', 84 85 'in_forum' => 'в :forum', 85 86 'latest_post' => ':when от :user',
+2 -2
resources/lang/bg/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Трудност', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/ca/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'No es pot enviar un missatge a un usuari que us està bloquejant o que heu bloquejat.', 65 71 'friends_only' => 'L\'usuari està bloquejant missatges de persones que no estan a la seva llista d\'amics.', 66 72 'moderated' => 'Aquest canal està actualment moderat.', 67 73 'no_access' => 'No tens accés a aquest canal.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'No teniu permisos per a publicar anuncis.', 69 75 'receive_friends_only' => 'És possible que l\'usuari no pugui respondre perquè només accepta missatges de persones de la llista d\'amics.', 70 76 'restricted' => 'No podeu enviar missatges mentre estigui silenciat, restringit o banejat.', 71 77 'silenced' => 'No podeu enviar missatges mentre estigui silenciat, restringit o banejat.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Només els administradors poden veure aquest fòrum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/ca/beatmap_discussions.php
··· 66 66 'version' => 'Dificultat', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Inicia sessió per respondre',
+4
resources/lang/ca/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'discusió del beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/ca/forum.php
··· 80 80 'confirm_restore' => 'Realment voleu restaurar el tema?', 81 81 'deleted' => 'tema eliminat', 82 82 'go_to_latest' => 'veure l\'última publicació', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Has respost a aquest tema', 84 85 'in_forum' => 'en :forum', 85 86 'latest_post' => ':when per :user',
+2 -2
resources/lang/ca/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Dificultat', 14 - 'percentile_10' => 'Puntuació del percentil 10', 15 - 'percentile_50' => 'Puntuació del percentil 50', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/cs/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Nemůžete napsat uživateli, kterého máte buď zablokovaného nebo vás má v zablokovaných.', 65 71 'friends_only' => 'Uživatel blokuje zprávy od lidí, kteří nejsou v jeho listu přátel.', 66 72 'moderated' => 'Tento kanál je právě moderován.', 67 73 'no_access' => 'Nemáte přístup k tomu kanálu.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Nemáte oprávnění postnout oznámení.', 69 75 'receive_friends_only' => 'Tento uživatel nemusí být schopen odpovědět, protože přijímáte zprávy pouze od lidí ve vašem seznamu přátel.', 70 76 'restricted' => 'Nemůžete posílat zprávy, když jste umlčen, omezen nebo zabanován.', 71 77 'silenced' => 'Nemůžete posílat zprávy, když jste umlčen, omezen nebo zabanován.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Pouze admin může zobrazit toto fórum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/cs/beatmap_discussions.php
··· 66 66 'version' => 'Obtížnost', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Pro přidání odpovědi se musíš přihlásit',
+4
resources/lang/cs/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'diskuze beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/cs/forum.php
··· 80 80 'confirm_restore' => 'Opravdu checeš obnovit téma?', 81 81 'deleted' => 'odstraněné téma', 82 82 'go_to_latest' => 'zobrazit nejnovější příspěvek', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Odpověděl jsi na toto téma', 84 85 'in_forum' => 'v :forum', 85 86 'latest_post' => ':when uživatelem :user',
+2 -2
resources/lang/cs/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Obtížnost', 14 - 'percentile_10' => 'Skóre 10. percentilu', 15 - 'percentile_50' => 'Skóre 50. percentilu', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/da/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Du kan ikke sende denne besked, enten har brugeren blokeret dig eller du har blokeret brugeren.', 65 71 'friends_only' => 'Brugeren blokerer beskeder fra folk der ikke er på deres venneliste.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Kun administratorer kan se dette forum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/da/beatmap_discussions.php
··· 66 66 'version' => 'Sværhedsgrad', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Log ind for at svare',
+4
resources/lang/da/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'beatmap diskussion', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/da/forum.php
··· 80 80 'confirm_restore' => 'Gendan opslag?', 81 81 'deleted' => 'slettede emne', 82 82 'go_to_latest' => 'vis det seneste opslag', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Du har besvaret dette emne', 84 85 'in_forum' => 'i :forum', 85 86 'latest_post' => ':when af :user',
+2 -2
resources/lang/da/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -13
resources/lang/da/users.php
··· 126 126 127 127 'ogp' => [ 128 128 'modding_description' => '', 129 - 'modding_description_empty' => '', 129 + 'modding_description_empty' => 'Brugeren har ingen beatmaps...', 130 130 131 131 'description' => [ 132 132 '_' => '', ··· 171 171 ], 172 172 'restricted_banner' => [ 173 173 'title' => 'Du konto er blevet begrænset!', 174 - 'message' => 'Når du er begrænset, kan du ikke interagere med andre spillere, og dine scores vil kun være synlige for dig. Dette er som regel en automatisk proces, og begrænsningen vil blive fjernet indenfor 24 timer. :link', 174 + 'message' => 'Når du er begrænset, kan du ikke interagere med andre spillere, og dine scores vil kun være synlige for dig. Dette er som regel en automatisk proces, og begrænsningen fjernes normalt indenfor 24 timer. :link', 175 175 'message_link' => 'Tjek denne side for at lære mere.', 176 176 ], 177 177 'show' => [ ··· 202 202 'daily_streak_current' => '', 203 203 'playcount' => '', 204 204 'title' => '', 205 - 'top_10p_placements' => '', 206 - 'top_50p_placements' => '', 205 + 'top_10p_placements' => 'Top 10%-placeringer', 206 + 'top_50p_placements' => 'Top 50%-placeringer', 207 207 'weekly' => '', 208 208 'weekly_streak_best' => '', 209 209 'weekly_streak_current' => '', ··· 243 243 244 244 'hue' => [ 245 245 'reset_no_supporter' => '', 246 - 'title' => '', 246 + 'title' => 'Farve', 247 247 248 248 'supporter' => [ 249 249 '_' => '', ··· 278 278 'title' => 'Elskede beatmaps', 279 279 ], 280 280 'nominated' => [ 281 - 'title' => '', 281 + 'title' => 'Nominerede Rangerede Beatmaps', 282 282 ], 283 283 'pending' => [ 284 284 'title' => 'Afventende Beatmaps', ··· 419 419 'vote_count' => ':count_delimited stemme|:count_delimited stemmer', 420 420 ], 421 421 'account_standing' => [ 422 - 'title' => 'Account Status', 423 - 'bad_standing' => "<strong>:username's</strong> account er ikke i en god position :(", 424 - 'remaining_silence' => '<strong>:username</strong> kan tale igen om :duration.', 422 + 'title' => 'Kontostatus', 423 + 'bad_standing' => ":username's konto er ikke i en god position :(", 424 + 'remaining_silence' => ':username kan tale igen :duration.', 425 425 426 426 'recent_infringements' => [ 427 427 'title' => 'Seneste Overtrædelser', 428 428 'date' => 'dato', 429 429 'action' => 'handling', 430 430 'length' => 'længde', 431 - 'length_indefinite' => '', 431 + 'length_indefinite' => 'Tidsubegrænset', 432 432 'description' => 'beskrivelse', 433 433 'actor' => 'af :username', 434 434 435 435 'actions' => [ 436 436 'restriction' => 'Ban', 437 - 'silence' => 'Mute', 437 + 'silence' => 'Silence', 438 438 'tournament_ban' => 'Turneringsforbud', 439 439 'note' => 'Noter', 440 440 ], ··· 501 501 ], 502 502 503 503 'silenced_banner' => [ 504 - 'title' => 'Du er i øjeblikket muted.', 504 + 'title' => 'Du er silenced i øjeblikket.', 505 505 'message' => 'Nogle handlinger kan være utilgængelige.', 506 506 ], 507 507 ··· 512 512 ], 513 513 'store' => [ 514 514 'from_client' => '', 515 - 'from_web' => '', 515 + 'from_web' => 'fuldfør venligst registrationen via osu!s website', 516 516 'saved' => 'Bruger Oprettet', 517 517 ], 518 518 'verify' => [
+13 -1
resources/lang/de/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Du kannst keine Nachrichten an einen Benutzer senden, der dich oder den du blockiert hast.', 65 71 'friends_only' => 'Der Benutzer blockiert alle Nachrichten von Personen, die nicht auf seiner Freundesliste sind.', 66 72 'moderated' => 'Dieser Kanal wird derzeit moderiert.', 67 73 'no_access' => 'Du hast keinen Zugriff auf diesen Kanal.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Dir fehlt die Berechtigung, Ankündigungen zu veröffentlichen.', 69 75 'receive_friends_only' => 'Der Benutzer kann möglicherweise nicht antworten, da du nur Nachrichten von Personen auf deiner Freundesliste akzeptierst.', 70 76 'restricted' => 'Du kannst keine Nachrichten senden, während du stummgeschaltet oder gesperrt bist.', 71 77 'silenced' => 'Du kannst keine Nachrichten senden, während du stummgeschaltet oder gesperrt bist.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Nur Administratoren können dieses Forum sehen.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/de/beatmap_discussions.php
··· 66 66 'version' => 'Difficulty', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Zum Antworten einloggen',
+1 -1
resources/lang/de/beatmapsets.php
··· 52 52 53 53 'dialog' => [ 54 54 'confirmation' => 'Bist du sicher, dass du diese Beatmap nominieren möchtest?', 55 - 'different_nominator_warning' => '', 55 + 'different_nominator_warning' => 'Das Qualifizieren dieser Beatmap mit anderen Nominatoren wird dessen Position in der Qualifikationswarteschlange zurücksetzen.', 56 56 'header' => 'Beatmap nominieren', 57 57 'hybrid_warning' => 'Hinweis: du kannst nur einmalig nominieren, also stelle bitte sicher, dass du für alle Spielmodi nominierst, die du beabsichtigst', 58 58 'current_main_ruleset' => 'Der Hauptspielmodus ist derzeit: :ruleset',
+1 -1
resources/lang/de/community.php
··· 116 116 117 117 'sort_options' => [ 118 118 'title' => 'Sortieroptionen', 119 - 'description' => 'Länder-, Freundes- und modspezifische Ranglisten im Spiel einsehen!', 119 + 'description' => 'Sieh dir Ranglisten basierend auf Ländern, deiner Freundesliste oder spezifischer Modkombinationen im Spiel an!', 120 120 ], 121 121 122 122 'more_favourites' => [
+1 -1
resources/lang/de/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'comments' => '', 17 + 'comments' => 'Kommentare', 18 18 'hide_judged' => 'bewertete Einträge ausblenden', 19 19 'nav_title' => 'Bewerten', 20 20 'no_current_vote' => 'Du hast noch nicht abgestimmt.',
+4
resources/lang/de/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'Beatmap-Diskussion', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/de/forum.php
··· 80 80 'confirm_restore' => 'Thread wirklich wiederherstellen?', 81 81 'deleted' => 'gelöschter Thread', 82 82 'go_to_latest' => 'letzte Antwort anschauen', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Du hast auf diesen Thread geantwortet', 84 85 'in_forum' => 'in :forum', 85 86 'latest_post' => ':when von :user',
+2 -2
resources/lang/de/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Level', 14 - 'percentile_10' => 'Punktzahl im 10ten Perzentil', 15 - 'percentile_50' => 'Median', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+4 -4
resources/lang/de/users.php
··· 298 298 'show_more' => 'mehr Events anzeigen', 299 299 ], 300 300 'historical' => [ 301 - 'title' => 'Historisch', 301 + 'title' => 'Historie', 302 302 303 303 'monthly_playcounts' => [ 304 304 'title' => 'Spielverlauf', ··· 393 393 'not_ranked' => 'Nur Ranked Beatmaps geben PP.', 394 394 'pp_weight' => ':percentage gewichtet', 395 395 'view_details' => 'Details anzeigen', 396 - 'title' => 'Ränge', 396 + 'title' => 'Scores', 397 397 398 398 'best' => [ 399 399 'title' => 'Beste Performance', ··· 474 474 ], 475 475 'rank' => [ 476 476 'country' => 'Länderrang im Modus :mode', 477 - 'country_simple' => 'Landesrangliste', 477 + 'country_simple' => 'Nationaler Rang', 478 478 'global' => 'Globaler Rang im Modus :mode', 479 - 'global_simple' => 'Globale Rangliste', 479 + 'global_simple' => 'Globaler Rang', 480 480 'highest' => 'Höchster Rang: :rank am :date', 481 481 ], 482 482 'stats' => [
+12
resources/lang/el/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Αδυναμία αποστολής σε χρήστη που σας έχει ή έχετε αποκλείσει.', 65 71 'friends_only' => 'Ο χρήστης αποκλείει μηνύματα απο άτομα εκτός της λίστας φίλων του.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Μόνο οι διαχειριστές μπορούν να δούν αυτό το φόρουμ.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/el/beatmap_discussions.php
··· 66 66 'version' => 'Δυσκολία', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Συνδεθείτε για να Aπαντήσετε',
+4
resources/lang/el/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'συζήτηση beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/el/forum.php
··· 80 80 'confirm_restore' => 'Πραγματικά επαναφορά θέματος;', 81 81 'deleted' => 'διαγραμμένο θέμα', 82 82 'go_to_latest' => 'δείτε την πιο πρόσφατη δημοσίευση', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Έχετε απαντήσει σε αυτό το θέμα', 84 85 'in_forum' => 'στο :forum', 85 86 'latest_post' => ':when από τον :user',
+2 -2
resources/lang/el/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+5
resources/lang/en/admin.php
··· 53 53 'beatmapsets' => 'Beatmaps', 54 54 'forum' => 'Forum', 55 55 'general' => 'General', 56 + 57 + 'users' => [ 58 + 'header' => 'User', 59 + 'cover_presets' => 'Profile Cover Presets', 60 + ], 56 61 ], 57 62 ], 58 63 ],
+6
resources/lang/en/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => 'You must set a score on a beatmap to add a tag.', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Cannot message a user that is blocking you or that you have blocked.', 65 71 'friends_only' => 'User is blocking messages from people not on their friends list.',
+4
resources/lang/en/page_title.php
··· 107 107 'seasons_controller' => [ 108 108 '_' => 'rankings', 109 109 ], 110 + 'teams_controller' => [ 111 + '_' => 'teams', 112 + 'show' => 'team info', 113 + ], 110 114 'tournaments_controller' => [ 111 115 '_' => 'tournaments', 112 116 ],
+27
resources/lang/en/teams.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + return [ 7 + 'show' => [ 8 + 'bar' => [ 9 + 'settings' => 'Settings', 10 + ], 11 + 12 + 'info' => [ 13 + 'created' => 'Formed', 14 + 'website' => 'Website', 15 + ], 16 + 17 + 'members' => [ 18 + 'members' => 'Team Members', 19 + 'owner' => 'Team Leader', 20 + ], 21 + 22 + 'sections' => [ 23 + 'members' => 'Members', 24 + 'info' => 'Info', 25 + ], 26 + ], 27 + ];
+13 -1
resources/lang/es-419/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'No puedes enviar mensajes a un usuario que bloqueaste o que te haya bloqueado.', 65 71 'friends_only' => 'Este usuario está bloqueando los mensajes de las personas que no estén en su lista de amigos.', 66 72 'moderated' => 'Este canal está actualmente siendo moderado.', 67 73 'no_access' => 'No tienes acceso a ese canal.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'No tienes permiso para publicar anuncios.', 69 75 'receive_friends_only' => 'Es posible que el usuario no pueda responder porque solo aceptas mensajes de las personas en tu lista de amigos.', 70 76 'restricted' => 'No puedes enviar mensajes mientras estés silenciado, restringido o baneado.', 71 77 'silenced' => 'No puedes enviar mensajes mientras estés silenciado, restringido o baneado.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Solo los administradores pueden ver este foro.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/es-419/beatmap_discussions.php
··· 66 66 'version' => 'Dificultad', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Inicia sesión para responder',
+4
resources/lang/es-419/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'discusiones de mapas', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/es-419/forum.php
··· 80 80 'confirm_restore' => '¿Quieres restaurar el tema?', 81 81 'deleted' => 'tema eliminado', 82 82 'go_to_latest' => 'ver la última publicación', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Has respondido a este tema', 84 85 'in_forum' => 'en :forum', 85 86 'latest_post' => ':when por :user',
+2 -2
resources/lang/es-419/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Dificultad', 14 - 'percentile_10' => 'Puntuación requerida para quedar dentro del top 10 %', 15 - 'percentile_50' => 'Puntuación requerida para quedar dentro del top 50 %', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/es/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'No puedes enviar mensajes a un usuario que bloqueaste o que te haya bloqueado.', 65 71 'friends_only' => 'Este usuario está bloqueando los mensajes de personas que no están en su lista de amigos.', 66 72 'moderated' => 'Este canal está actualmente siendo moderado.', 67 73 'no_access' => 'No tienes acceso a ese canal.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'No tienes permiso para publicar anuncios.', 69 75 'receive_friends_only' => 'Es posible que el usuario no pueda responder porque solo aceptas mensajes de las personas en tu lista de amigos.', 70 76 'restricted' => 'No puedes enviar mensajes mientras estás silenciado, restringido o baneado.', 71 77 'silenced' => 'No puedes enviar mensajes mientras estás silenciado, restringido o baneado.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Solo los administradores pueden ver este foro.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/es/beatmap_discussions.php
··· 66 66 'version' => 'Dificultad', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Inicia sesión para responder',
+4
resources/lang/es/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'discusión del mapa', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/es/forum.php
··· 80 80 'confirm_restore' => '¿Realmente desea restaurar el tema?', 81 81 'deleted' => 'tema eliminado', 82 82 'go_to_latest' => 'ver la última publicación', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Has respondido a este tema', 84 85 'in_forum' => 'en :forum', 85 86 'latest_post' => ':when por :user',
+2 -2
resources/lang/es/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Dificultad', 14 - 'percentile_10' => 'Puntuación requerida para quedar dentro del top 10 %', 15 - 'percentile_50' => 'Puntuación requerida para quedar dentro del top 50 %', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/fa-IR/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'نمیتوان به کاربری پیام ارسال کرد که او را مسدود کرده اید یا او شما را مسدود کرده باشد.', 65 71 'friends_only' => 'کاربر مورد نظر، پیام ها را از طرف کسانی که جزو لیست دوستانش نیستند، مسدود کرده است.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'فقط مدیران می توانند این انجمن را ببینند.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/fa-IR/beatmap_discussions.php
··· 66 66 'version' => 'درجه سختی', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'برای پاسخ دادن وارد شوید',
+4
resources/lang/fa-IR/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/fa-IR/forum.php
··· 80 80 'confirm_restore' => '', 81 81 'deleted' => '', 82 82 'go_to_latest' => '', 83 + 'go_to_unread' => '', 83 84 'has_replied' => '', 84 85 'in_forum' => '', 85 86 'latest_post' => '',
+2 -2
resources/lang/fa-IR/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+3 -3
resources/lang/fi/accounts.php
··· 26 26 ], 27 27 28 28 'legacy_api' => [ 29 - 'api' => 'rajapinta', 29 + 'api' => 'api', 30 30 'irc' => 'irc', 31 31 'title' => 'Vanha rajapinta', 32 32 ], ··· 64 64 ], 65 65 66 66 'github_user' => [ 67 - 'info' => "Jos osallistut osu!n kehitykseen, GitHub-tilin linkittäminen tässä yhdistää muutoslokin merkintäsi osu!-profiiliisi. GitHub-tilit, joilla ei ole osallistumishistoriaa osu!un, ei voida linkittää.", 67 + 'info' => "Jos osallistut osu!n kehitykseen, GitHub-tilin linkittäminen tässä yhdistää muutoslokin merkintäsi osu!-profiiliisi. GitHub-tilit, joilla ei ole osallistumishistoriaa osu!:n kanssa, ei voida linkittää.", 68 68 'link' => 'Linkitä GitHub-tili', 69 69 'title' => 'GitHub', 70 70 'unlink' => 'Poista GitHub-tilin linkitys', 71 71 72 72 'error' => [ 73 73 'already_linked' => 'Tämä GitHub-tili on jo linkitetty toiselle käyttäjälle.', 74 - 'no_contribution' => 'GitHub-tiliä ei voi linkittää, jos sillä ei ole muutoshistoriaa osu!lle.', 74 + 'no_contribution' => 'GitHub-tiliä ei voi linkittää, jos sillä ei ole osallistumishistoriaa osu!:n tietovarastoihin.', 75 75 'unverified_email' => 'Ole hyvä ja vahvista ensisijainen sähköpostiosoitteesi GitHubissa ja yritä sitten yhdistää tilisi uudelleen.', 76 76 ], 77 77 ],
+2 -2
resources/lang/fi/artist.php
··· 54 54 'advanced' => 'Laajennettu haku', 55 55 'album' => 'Albumi', 56 56 'artist' => 'Artisti', 57 - 'bpm_gte' => 'BPM vähintään', 58 - 'bpm_lte' => 'BPM enintään', 57 + 'bpm_gte' => 'BPM Minimi', 58 + 'bpm_lte' => 'BPM Maksimi', 59 59 'empty' => 'Hakukriteerejä vastaavia kappaleita ei löytynyt.', 60 60 'exclusive_only' => 'Tyyppi', 61 61 'genre' => 'Tyylilaji',
+27 -15
resources/lang/fi/authorization.php
··· 40 40 41 41 'beatmap_discussion_post' => [ 42 42 'destroy' => [ 43 - 'not_owner' => 'Voit poistaa vaan omia viestejä.', 43 + 'not_owner' => 'Voit poistaa vaan omia postauksiasi.', 44 44 'resolved' => 'Et voi poistaa ratkaistun keskustelun viestiä.', 45 45 'system_generated' => 'Automaattisesti luotua viestiä ei voi poistaa.', 46 46 ], 47 47 48 48 'edit' => [ 49 - 'not_owner' => 'Vain lähettäjä voi muokata viestiä.', 49 + 'not_owner' => 'Vain lähettäjä voi muokata postausta.', 50 50 'resolved' => 'Et voi muokata ratkaistun keskustelun viestiä.', 51 51 'system_generated' => 'Automaattisesti luotua viestiä ei voi muokata.', 52 52 ], ··· 56 56 'discussion_locked' => 'Tämän rytmikartan keskustelu on lukittu.', 57 57 58 58 'metadata' => [ 59 - 'nominated' => 'Et voi muuttaa ehdolle asetetun kartan kuvailutietoja. Ota yhteyttä BN- tai NAT-jäseneen, jos luulet sen olevan virheellinen.', 59 + 'nominated' => 'Et voi muuttaa ehdolle asetetun kartan metatietoja. Ota yhteyttä BN- tai NAT-jäseneen, jos ajattelet niiden olevan virheellisiä.', 60 + ], 61 + ], 62 + 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 60 66 ], 61 67 ], 62 68 63 69 'chat' => [ 64 70 'blocked' => 'Et voi lähettää viestejä käyttäjälle, joka on estänyt sinut tai jonka olet estänyt.', 65 - 'friends_only' => 'Käyttäjä on estänyt viestit henkilöiltä, jotka eivät ole hänen kaverilistassaan.', 71 + 'friends_only' => 'Käyttäjä on estänyt viestit henkilöiltä, jotka eivät ole heidän kaverilistallaan.', 66 72 'moderated' => 'Tätä kanavaa moderoidaan.', 67 73 'no_access' => 'Sinulla ei ole oikeuksia tälle kanavalle.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Sinulla ei ole oikeutta ilmoitusten postaamiseen.', 69 75 'receive_friends_only' => 'Käyttäjä ei välttämättä pysty vastaamaan, koska hyväksyt viestejä vain kaverilistallasi olevilta henkilöiltä.', 70 - 'restricted' => 'Et voi lähettää viestejä mykistettynä, rajoitettuna tai bännättynä.', 71 - 'silenced' => 'Et voi lähettää viestejä mykistettynä, rajoitettuna tai bännättynä.', 76 + 'restricted' => 'Et voi lähettää viestejä mykistettynä, rajoitettuna tai estettynä.', 77 + 'silenced' => 'Et voi lähettää viestejä mykistettynä, rajoitettuna tai estettynä.', 72 78 ], 73 79 74 80 'comment' => [ ··· 76 82 'disabled' => 'Kommentit ovat poistettu käytöstä', 77 83 ], 78 84 'update' => [ 79 - 'deleted' => "Poistettuja viestejä ei voi mukata.", 85 + 'deleted' => "Poistettuja postauksia ei voi muokata.", 80 86 ], 81 87 ], 82 88 83 89 'contest' => [ 84 - 'judging_not_active' => 'Tuomarointi tälle kilpailulle ei ole avoinna.', 90 + 'judging_not_active' => 'Tuomarointi tälle kilpailulle ei ole aktiivinen.', 85 91 'voting_over' => 'Et voi muuttaa ääntäsi tälle kilpailulle äänestysajan loppumisen jälkeen.', 86 92 87 93 'entry' => [ 88 94 'limit_reached' => 'Olet saavuttanut kilpailuun lähetettävien töiden rajan', 89 - 'over' => 'Kiitos lähettämistänne töistä! Kilpailuun ei oteta enää ehdokkaita ja äänestys avataan pian.', 95 + 'over' => 'Kiitos lähettämistänne töistä! Töiden lähettäminen on suljettu ja äänestys avataan pian.', 90 96 ], 91 97 ], 92 98 ··· 100 106 'only_last_post' => 'Vain viimeisin viesti voidaan poistaa.', 101 107 'locked' => 'Lukitun aiheen viestejä ei voi poistaa.', 102 108 'no_forum_access' => 'Tarvitset pääsyn tälle foorumille.', 103 - 'not_owner' => 'Vain lähettäjä voi poistaa viestin.', 109 + 'not_owner' => 'Vain lähettäjä voi poistaa postauksen.', 104 110 ], 105 111 106 112 'edit' => [ 107 - 'deleted' => 'Poistettuja viestejä ei voi muokata.', 113 + 'deleted' => 'Poistettua postausta ei voi muokata.', 108 114 'locked' => 'Viestin muokkaaminen on estetty.', 109 115 'no_forum_access' => 'Tarvitset pääsyn tälle foorumille.', 110 - 'not_owner' => 'Vain lähettäjä voi muokata viestiä.', 116 + 'not_owner' => 'Vain lähettäjä voi muokata postausta.', 111 117 'topic_locked' => 'Lukitun aiheen viestiä ei voi muokata.', 112 118 ], 113 119 114 120 'store' => [ 115 121 'play_more' => 'Pyydämme, että kokeilet peliä ennen viestin lähettämistä foorumeille! Jos kohtaat ongelmia pelatessasi, lähetä viesti foorumin apu- ja tukialueelle.', 116 - 'too_many_help_posts' => "Sinun on pelattava peliä enemmän, ennen kuin voit luoda useampia viestejä. Jos sinulla on edelleen ongelmia pelin kanssa, lähetä sähköpostia osoitteeseen support@ppy.sh", // FIXME: unhardcode email address. 122 + 'too_many_help_posts' => "Sinun on pelattava peliä enemmän, ennen kuin voit luoda enemmän postauksia. Jos sinulla on edelleen ongelmia pelin pelaamisen kanssa, lähetä sähköpostia osoitteeseen support@ppy.sh", // FIXME: unhardcode email address. 117 123 ], 118 124 ], 119 125 120 126 'topic' => [ 121 127 'reply' => [ 122 - 'double_post' => 'Muokkaa edellistä viestiä uuden lähettämisen sijaan.', 128 + 'double_post' => 'Muokkaa edellistä postaustasi uuden lähettämisen sijaan.', 123 129 'locked' => 'Et voi vastata lukittuun aiheeseen.', 124 130 'no_forum_access' => 'Pääsy kyseiselle foorumille vaaditaan.', 125 131 'no_permission' => 'Ei vastausoikeutta.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Vain ylläpitäjä voi nähdä tämän foorumin.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+10 -3
resources/lang/fi/beatmap_discussions.php
··· 66 66 'version' => 'Vaikeustaso', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Kirjaudu sisään vastataksesi', ··· 75 82 76 83 'review' => [ 77 84 'block_count' => ':used / :max lohkoa käytetty', 78 - 'go_to_parent' => 'Näytä arvosteluviesti', 85 + 'go_to_parent' => 'Näytä arvostelupostaus', 79 86 'go_to_child' => 'Näytä keskustelu', 80 87 'validation' => [ 81 88 'block_too_large' => 'jokainen lohko voi sisältää enintään :limit merkkiä', ··· 83 90 'invalid_block_type' => 'virheellinen lohkotyyppi', 84 91 'invalid_document' => 'virheellinen arvostelu', 85 92 'invalid_discussion_type' => 'virheellinen keskustelutyyppi', 86 - 'minimum_issues' => 'arvostelun täytyy sisältää vähintään :count ongelma|arvostelun täytyy sisältää vähintään :count ongelmaa', 93 + 'minimum_issues' => 'arvostelun täytyy sisältää vähintään :count ongelmaa|arvostelun täytyy sisältää vähintään :count ongelmaa', 87 94 'missing_text' => 'lohkosta puuttuu teksti', 88 - 'too_many_blocks' => 'arvostelut saavat sisältää vain :count kappale/ongelma|arvostelut saavat sisältää vain :count kappaletta/ongelmaa', 95 + 'too_many_blocks' => 'arvostelut saavat sisältää vain :count kappale/ongelmaa|arvostelut saavat sisältää vain :count kappaletta/ongelmaa', 89 96 ], 90 97 ], 91 98
+1 -1
resources/lang/fi/beatmappacks.php
··· 12 12 13 13 'blurb' => [ 14 14 'important' => 'LUE TÄMÄ ENNEN LATAAMISTA', 15 - 'install_instruction' => 'Asennus: Kun paketti on latautunut, pura sen sisältö osu!n "Songs"-tiedostohakemistoon ja osu! hoitaa loput.', 15 + 'install_instruction' => 'Asennus: Kun paketti on latautunut, pura sen sisältö osu!:n "Songs"-tiedostohakemistoon ja osu! hoitaa loput.', 16 16 ], 17 17 ], 18 18
+4 -4
resources/lang/fi/beatmaps.php
··· 314 314 'metal' => 'Metalli', 315 315 'classical' => 'Klassinen', 316 316 'folk' => 'Kansanmusiikki', 317 - 'jazz' => 'Jazz', 317 + 'jazz' => 'Jatsi', 318 318 ], 319 319 'language' => [ 320 320 'any' => 'Kaikki', ··· 331 331 'polish' => 'puola', 332 332 'instrumental' => 'Instrumentaalinen', 333 333 'other' => 'Muu', 334 - 'unspecified' => 'Täsmentämätön', 334 + 'unspecified' => 'Määrittelemätön', 335 335 ], 336 336 337 337 'nsfw' => [ ··· 360 360 'D' => '', 361 361 ], 362 362 'panel' => [ 363 - 'playcount' => 'Pelikertoja: :count', 364 - 'favourites' => 'Suosikkeja: :count', 363 + 'playcount' => ':count Pelikertaa', 364 + 'favourites' => ':count Suosikkia', 365 365 ], 366 366 'variant' => [ 367 367 'mania' => [
+4 -4
resources/lang/fi/beatmapset_events.php
··· 5 5 6 6 return [ 7 7 'event' => [ 8 - 'approve' => 'Vahvistettu.', 8 + 'approve' => 'Hyväksytty.', 9 9 'beatmap_owner_change' => 'Vaikeustason :beatmap omistaja vaihtui käyttäjäksi :new_user.', 10 10 'discussion_delete' => 'Moderaattori poisti keskustelun :discussion.', 11 11 'discussion_lock' => 'Tämän rytmikartan keskustelu on poistettu käytöstä. (:text)', ··· 25 25 'kudosu_recalculate' => 'Keskustelun :discussion kudosu on uudelleenlaskettu.', 26 26 'language_edit' => 'Kieli :old muutettu kieleen :new.', 27 27 'love' => ':user rakastaa', 28 - 'nominate' => 'Ehdollepannut :user.', 29 - 'nominate_modes' => ':user asetti ehdolle (:modes).', 28 + 'nominate' => 'Käyttäjän :user suosittelema.', 29 + 'nominate_modes' => 'Käyttäjän :user suosittelema (:modes).', 30 30 'nomination_reset' => 'Uusi ongelma :discussion (:text) aiheutti ehdollepanojen nollauksen.', 31 31 'nomination_reset_received' => ':source_user nollasi käyttäjän :user ehdollepanon (:text)', 32 32 'nomination_reset_received_profile' => ':user nollasi ehdollepanon (:text)', ··· 38 38 39 39 'nsfw_toggle' => [ 40 40 'to_0' => 'Poistettiin sopimattoman sisällön merkki', 41 - 'to_1' => 'Merkittiin sopimattomaksi sisällöksi', 41 + 'to_1' => 'Merkitty sopimattomaksi sisällöksi', 42 42 ], 43 43 ], 44 44
+2 -2
resources/lang/fi/beatmapsets.php
··· 52 52 53 53 'dialog' => [ 54 54 'confirmation' => 'Oletko varma, että haluat asettaa tämän rytmikartan ehdolle?', 55 - 'different_nominator_warning' => '', 55 + 'different_nominator_warning' => 'Tämän rytmikartan kelpuuttaminen eri nimittäjillä nollaa sen kelpuuttamisjonon sijainnin.', 56 56 'header' => 'Ehdollepane rytmikartta', 57 57 'hybrid_warning' => 'huomaa: voit tehdä ehdollepanon vain kerran, joten varmista, että asetat todella ehdolle kaikki tarkoittamasi pelimuodot', 58 58 'current_main_ruleset' => 'Ensisijainen pelimuoto on tällä hetkellä: :ruleset', ··· 138 138 139 139 'info' => [ 140 140 'description' => 'Kuvaus', 141 - 'genre' => 'Tyylilaji', 141 + 'genre' => 'Genre', 142 142 'language' => 'Kieli', 143 143 'no_scores' => 'Dataa lasketaan...', 144 144 'nominators' => 'Ehdollepanijat',
+1 -1
resources/lang/fi/changelog.php
··· 34 34 'support' => [ 35 35 'heading' => 'Piditkö tästä päivityksestä?', 36 36 'text_1' => 'Tue osu!:n kehittämistä ja :link jo tänään!', 37 - 'text_1_link' => 'ryhdy osu!n tukijaksi', 37 + 'text_1_link' => 'ryhdy osu!:n tukijaksi', 38 38 'text_2' => 'Tukesi ei ainoastaan nopeuta pelin kehittämistä, vaan saat myös lisätoimintoja sekä enemmän muokkausvapautta!', 39 39 ], 40 40 ];
+4
resources/lang/fi/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'rytmikartan keskustelut', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/fi/forum.php
··· 80 80 'confirm_restore' => 'Haluatko varmasti palauttaa aiheen?', 81 81 'deleted' => 'poistettu aihe', 82 82 'go_to_latest' => 'näytä viimeisin viesti', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Olet vastannut tähän aiheeseen', 84 85 'in_forum' => ':forum -foorumissa', 85 86 'latest_post' => ':when käyttäjältä :user',
+1 -1
resources/lang/fi/layout.php
··· 200 200 'logout' => 'Kirjaudu ulos', 201 201 'profile' => 'Oma profiili', 202 202 'scoring_mode_toggle' => 'Klassinen pisteytys', 203 - 'scoring_mode_toggle_tooltip' => '', 203 + 'scoring_mode_toggle_tooltip' => 'Säädä pistemäärät tuntumaan enemmän klassiselta rajoittamattomalta pisteytykseltä', 204 204 ], 205 205 ], 206 206
+19 -19
resources/lang/fi/mail.php
··· 20 20 21 21 'donation_thanks' => [ 22 22 'benefit_more' => 'Tukijoille on myös luvassa ajan myötä uusia lisäetuja!', 23 - 'feedback' => "Jos sinulla on kysyttävää tai palautetta, älä epäröi vastata tähän sähköpostiin; saat vastauksen mahdollisimman pian!", 24 - 'keep_free' => 'Sinunlaisien henkilöiden ansiosta osu! pystyy pitämään pelin ja yhteisön sujuvasti käynnissä ilman mitään mainoksia tai pakollisia maksuja.', 23 + 'feedback' => "Jos sinulla on kysyttävää tai palautetta, älä epäröi vastata tähän sähköpostiin; Vastaan sinulle mahdollisimman pian!", 24 + 'keep_free' => 'Sinunlaisien henkilöiden ansiosta osu! pystyy pitämään pelin ja yhteisön sujuvasti käynnissä ilman mainoksia tai pakollisia maksuja.', 25 25 'keep_running' => 'Tukesi ansiosta osu! pysyy käynnissä noin :minutes! Se ei ehkä tunnu paljolta, mutta pienistä puroista syntyy suuri joki :).', 26 26 'subject' => 'Kiitos, osu! <3 sinua', 27 27 'translation' => 'Seuraava on yhteisön tuottama käännös tiedostusta varten:', ··· 32 32 ], 33 33 34 34 'support' => [ 35 - '_' => 'Kiitos paljon :support osu!lle.', 35 + '_' => 'Kiitos paljon :support osu!:a kohtaan', 36 36 'first' => 'tuestasi', 37 - 'repeat' => 'jatkuvasta tuestasi', 37 + 'repeat' => 'jatkuneesta tuestasi', 38 38 ], 39 39 ], 40 40 41 41 'forum_new_reply' => [ 42 42 'new' => 'Tiedoksesi vain, että ":title" on saanut uuden vastauksen poissaolosi aikana.', 43 43 'subject' => '[osu!] Uusi vastaus aiheessa ":title"', 44 - 'unwatch' => 'Jos et enää halua seurata tätä aihetta, voit napsauttaa "Lopeta aiheen seuraaminen" -linkkiä, joka löytyy yllämainitun aiheen alareunasta tai aihekohtaisten tilausten hallintasivulta:', 45 - 'visit' => 'Siirry viimeiseen vastaukseen käyttämällä seuraavaa linkkiä:', 44 + 'unwatch' => 'Jos et enää halua seurata tätä aihetta, voit napsauttaa "Lopeta aiheen seuraaminen" -linkkiä, joka löytyy ylhäällä olevan aiheen alareunasta tai aihe-tilausten hallintasivulta:', 45 + 'visit' => 'Siirry suoraan viimeisimpään vastaukseen käyttämällä seuraavaa linkkiä:', 46 46 ], 47 47 48 48 'password_reset' => [ 49 49 'code' => 'Vahvistuskoodisi on:', 50 - 'requested' => 'Joko sinä tai joku joka teeskentelee sinua, on pyytänyt salasanan palautusta osu! -tilillesi.', 51 - 'subject' => 'osu! tilin palauttaminen', 50 + 'requested' => 'Joko sinä tai joku sinua esittävä, on pyytänyt salasanan nollausta osu! -tilillesi.', 51 + 'subject' => 'osu! tilin palautus', 52 52 ], 53 53 54 54 'store_payment_completed' => [ 55 - 'prepare_shipping' => 'Olemme saaneet maksusi ja valmistelemme tilaustasi kuljetukseen. Se voi kestää muutaman päivän lähettää, riippuen tilausten määrästä. Voit seurata tilauksesi edistymistä täällä, mukaan lukien seurantatiedot, jos saatavilla:', 55 + 'prepare_shipping' => 'Olemme saaneet maksusi ja valmistelemme tilaustasi kuljetusta varten. Tilauksella saattaa kestää muutaman päivän lähettää, riippuen tilausten määrästä. Voit seurata tilauksesi edistymistä täällä, mukaan lukien seurantatiedot, jos saatavilla:', 56 56 'processing' => 'Olemme vastaanottaneet maksusi ja käsittelemme tällä hetkellä tilaustasi. Voit seurata tilauksesi etenemistä täällä:', 57 - 'questions' => "Jos sinulla on kysyttävää, älä epäröi vastata tähän sähköpostiin.", 58 - 'shipping' => 'Toimitus', 57 + 'questions' => "Jos sinulla on jotain kysyttävää, älä epäröi vastata tähän sähköpostiin.", 58 + 'shipping' => 'Toimitetaan', 59 59 'subject' => 'Vastaanotimme osu!kauppa-tilauksesi!', 60 60 'thank_you' => 'Kiitos osu!kauppa-tilauksestasi!', 61 61 'total' => 'Yhteensä', ··· 63 63 64 64 'supporter_gift' => [ 65 65 'anonymous_gift' => 'Henkilö, joka lahjoitti sinulle tämän tägin, voi halutessaan pysyä anonyyminä, joten heitä ei ole maininttu tässä ilmoituksessa.', 66 - 'anonymous_gift_maybe_not' => 'Mutta taidat jo tietää kuka se mahtaa olla ;).', 66 + 'anonymous_gift_maybe_not' => 'Mutta tiedät todennäköisesti jo, kuka hän on ;).', 67 67 'duration' => 'Kiitos hänen, sinulla on pääsy osu!directiin ja muihin osu!tukijaetuihin seuraavan :duration ajan.', 68 68 'features' => 'Voit saada lisätietoja näistä ominaisuuksista täältä:', 69 - 'gifted' => 'Joku on juuri antanut sinulle osu!tukijamerkin!', 69 + 'gifted' => 'Joku on juuri lahjoittanut sinulle osu!tukijamerkin!', 70 70 'gift_message' => 'Tämän merkin lahjoittanut henkilö jätti sinulle viestin:', 71 71 'subject' => 'Sinulle on lahjoitettu osu!tukijamerkki!', 72 72 ], 73 73 74 74 'user_email_updated' => [ 75 - 'changed_to' => 'Tämä on vahvistussähköposti ilmoittaaksesi sinulle, että osu! -sähköpostiosoite on muutettu osoitteeseen: ":email".', 76 - 'check' => 'Varmista, että olet saanut tämän sähköpostin uuteen osoitteeseesi, jotta et menetä käyttöoikeuttasi osu!-tiliisi tulevaisuudessa.', 77 - 'sent' => 'Turvallisuussyistä tämä sähköposti on lähetetty sekä uuteen että vanhaan sähköpostiosoitteeseen.', 75 + 'changed_to' => 'Tämä on vahvistussähköposti ilmoittaaksesi sinulle, että osu! -sähköpostiosoitteesi on muutettu osoitteeseen: ":email".', 76 + 'check' => 'Varmista, että olet saanut tämän sähköpostin uuteen osoitteeseesi, jotta et menetä pääsyoikeutta osu!-tilillesi tulevaisuudessa.', 77 + 'sent' => 'Turvallisuussyistä tämä sähköposti on lähetetty sekä uuteen että vanhaan sähköpostiosoitteeseesi.', 78 78 'subject' => 'osu!-sähköpostin muutoksen vahvistaminen', 79 79 ], 80 80 81 81 'user_force_reactivation' => [ 82 - 'main' => 'Tilisi epäillään olevan kompromisoitu, sillä on ollut epäilyttävää toimintaa tai ERITTÄIN heikko salasana. Tämän seurauksena vaadimme, että asetat uuden salasanan. Varmista, että valitset TURVALLISEN salasanan.', 83 - 'perform_reset' => 'Voit suorittaa nollauksen kohteesta :url', 82 + 'main' => 'Tilisi epäillään olevan joko kompromisoitu, sillä on ollut lähiaikoina epäilyttävää toimintaa, tai ERITTÄIN heikko salasana. Tämän seurauksena vaadimme, että asetat uuden salasanan. Varmista, että valitset TURVALLISEN salasanan.', 83 + 'perform_reset' => 'Voit suorittaa nollauksen täällä :url', 84 84 'reason' => 'Syy:', 85 - 'subject' => 'osu!-tilin uudelleenaktivointi vaaditaan', 85 + 'subject' => 'osu!-tilin uudelleenaktivointia vaaditaan', 86 86 ], 87 87 88 88 'user_notification_digest' => [
+4 -4
resources/lang/fi/rankings.php
··· 10 10 ], 11 11 12 12 'daily_challenge' => [ 13 - 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 13 + 'beatmap' => 'Vaikeustaso', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [ ··· 36 36 'type' => [ 37 37 'charts' => 'kohdevalot (vanha)', 38 38 'country' => 'maat', 39 - 'daily_challenge' => '', 39 + 'daily_challenge' => 'päivittäinen haaste', 40 40 'kudosu' => 'kudosu', 41 41 'multiplayer' => 'moninpelit', 42 42 'performance' => 'suorituskyky',
+1 -1
resources/lang/fi/users.php
··· 200 200 'daily' => 'Päivittäinen Putki', 201 201 'daily_streak_best' => 'Paras Päivittäinen Putki', 202 202 'daily_streak_current' => 'Nykyinen Päivittäinen Putki', 203 - 'playcount' => '', 203 + 'playcount' => 'Osallistuminen Yhteensä', 204 204 'title' => 'Päivittäinen\nHaaste', 205 205 'top_10p_placements' => 'Top 10% -Sijoitukset', 206 206 'top_50p_placements' => 'Top 50% -Sijoitukset',
+1 -1
resources/lang/fil/accounts.php
··· 10 10 11 11 'avatar' => [ 12 12 'title' => 'Avatar', 13 - 'reset' => '', 13 + 'reset' => 'tanggalin', 14 14 '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.', 15 15 'rules_link' => 'ang patakaran ng komunidad 16 16
+6 -6
resources/lang/fil/artist.php
··· 13 13 14 14 'beatmaps' => [ 15 15 '_' => 'Mga beatmap', 16 - 'download' => 'I-download ang Template ng Beatmap', 17 - 'download-na' => 'Ang Template ng Beatmap ay hindi pa available', 16 + 'download' => 'i-download ang template ng beatmap', 17 + 'download-na' => 'ang template ng beatmap ay hindi pa nakahanda', 18 18 ], 19 19 20 20 'index' => [ ··· 46 46 '_' => 'paghahanap ng mga track', 47 47 48 48 'exclusive_only' => [ 49 - 'all' => '', 50 - 'exclusive_only' => '', 49 + 'all' => 'Lahat', 50 + 'exclusive_only' => 'osu! orihinal', 51 51 ], 52 52 53 53 'form' => [ ··· 55 55 'album' => 'Album', 56 56 'artist' => 'Artista', 57 57 'bpm_gte' => 'Pinakamababang BPM', 58 - 'bpm_lte' => 'Pinakamataasang PM', 58 + 'bpm_lte' => 'Pinakamataas na BPM', 59 59 'empty' => 'Walang mga track na nakitang tumutugma sa pamantayan sa paghahanap.', 60 - 'exclusive_only' => '', 60 + 'exclusive_only' => 'Uri', 61 61 'genre' => 'Dyanra', 62 62 'genre_all' => 'Lahat', 63 63 'length_gte' => 'Pinakamababang Haba',
+16 -4
resources/lang/fil/authorization.php
··· 4 4 // See the LICENCE file in the repository root for full licence text. 5 5 6 6 return [ 7 - 'play_more' => 'Paano kung maglaro ng ilang osu! sa halip?', 7 + 'play_more' => 'Nasubukan mo na bang osu! ang simulan mong laruin?', 8 8 'require_login' => 'Paki-sign-in para tumuloy.', 9 9 'require_verification' => 'Paki-verify para tumuloy.', 10 10 'restricted' => "Hindi magagawa iyon habang pinaghihigpitan.", ··· 47 47 48 48 'edit' => [ 49 49 'not_owner' => 'Ang poster lang ang makakapag-edit ng post.', 50 - 'resolved' => 'Hindi mo maaaring i-edit ang isang post ng naresolbang talakayan.', 51 - 'system_generated' => 'Ang awtomatikong post na nabuo ay hindi maaaring i-edit.', 50 + 'resolved' => 'Hindi mo maaaring baguhin ang isang post ng naresolbang talakayan.', 51 + 'system_generated' => 'Ang awtomatikong post na nabuo ay hindi maaaring baguhin.', 52 52 ], 53 53 ], 54 54 ··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Hindi makapag-mensahe sa isang user na humaharang sa iyo o hinarang mo.', 65 71 'friends_only' => 'Hinaharang ng user ang mga mensahe mula sa mga taong wala sa listahan ng kanilang mga kaibigan.', 66 72 'moderated' => 'Ang channel na ito ay kasalukuyang naka-moderate.', 67 73 'no_access' => 'Wala kang access sa channel na iyon.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Wala kang permiso para magpost ng annunsyo.', 69 75 'receive_friends_only' => 'Ang user ay maaaring hindi makatugon dahil tumatanggap ka lang ng mga mensahe mula sa mga tao sa listahan ng iyong mga kaibigan.', 70 76 'restricted' => 'Hindi ka maaaring magpadala ng mga mensahe habang pinatahimik, pinaghihigpitan o pinagbawalan.', 71 77 'silenced' => 'Hindi ka maaaring magpadala ng mga mensahe habang pinatahimik, pinaghihigpitan o pinagbawalan.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Tanging admin lamang ang makakatingin sa forum na ito.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/fil/beatmap_discussions.php
··· 66 66 'version' => 'Difficulty', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Mag-sign in upang maka-sagot',
+1 -1
resources/lang/fil/common.php
··· 39 39 'pin' => 'aspile', 40 40 'post' => 'Post', 41 41 'read_more' => 'magbasa pa', 42 - 'refresh' => '', 42 + 'refresh' => 'I-refresh', 43 43 'reply' => 'Sumagot', 44 44 'reply_reopen' => 'Sagutin at Muling Buksan', 45 45 'reply_resolve' => 'Sagutin at Lutasin',
+1 -1
resources/lang/fil/errors.php
··· 37 37 'operation_timeout_exception' => 'Ang paghahanap ay kasalukuyang mas abala kaysa karaniwan, subukan muli sa ibang pagkakataon.', 38 38 ], 39 39 'user_report' => [ 40 - 'recently_reported' => "", 40 + 'recently_reported' => "Na report mo na ito.", 41 41 ], 42 42 ];
+4
resources/lang/fil/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'talakayan ng beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/fil/forum.php
··· 80 80 'confirm_restore' => 'Talagang ibalik ang post na ito?', 81 81 'deleted' => 'buradong mga paksa', 82 82 'go_to_latest' => 'tingnan ang mga pinakabagong post', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Sumagot ka sa pag-uusap na ito', 84 85 'in_forum' => 'sa :forum', 85 86 'latest_post' => ':when ni :user',
+2 -2
resources/lang/fil/layout.php
··· 199 199 'legacy_score_only_toggle_tooltip' => 'Ang Lazer mode ay nagpapakita ng mga iskor na itinakda mula sa lazer na may bagong algorithm sa pag-iskor', 200 200 'logout' => 'Mag-sign Out', 201 201 'profile' => 'Aking Profile', 202 - 'scoring_mode_toggle' => '', 203 - 'scoring_mode_toggle_tooltip' => '', 202 + 'scoring_mode_toggle' => 'Klasikong pang-iskor', 203 + 'scoring_mode_toggle_tooltip' => 'Iakma ang mga iskor para tumugma sa klasikong pang-iskor', 204 204 ], 205 205 ], 206 206
+1 -1
resources/lang/fil/model_validation.php
··· 176 176 'user_report' => [ 177 177 'no_ranked_beatmapset' => 'Hindi pwede i-report ang mga Ranked beatmaps', 178 178 'not_in_channel' => 'Wala ka sa channel na ito.', 179 - 'reason_not_valid' => 'Ang rason na:reason ay hindi akma sa ganitong uri ng report.', 179 + 'reason_not_valid' => 'Ang rason na :reason ay hindi akma sa ganitong uri ng report.', 180 180 'self' => "Hindi mo maaaring i-report ang sarili mo!", 181 181 ], 182 182
+7 -7
resources/lang/fil/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [ ··· 35 35 36 36 'type' => [ 37 37 'charts' => 'Mga Spotlight', 38 - 'country' => 'Bansa', 38 + 'country' => 'bansa', 39 39 'daily_challenge' => '', 40 40 'kudosu' => 'kudosu', 41 41 'multiplayer' => 'multiplayer', 42 - 'performance' => 'Performance', 43 - 'score' => 'Iskor', 44 - 'seasons' => 'Mga panahon', 42 + 'performance' => 'performance', 43 + 'score' => 'iskor', 44 + 'seasons' => 'mga panahon', 45 45 ], 46 46 47 47 'seasons' => [ ··· 60 60 61 61 'stat' => [ 62 62 'accuracy' => 'Accuracy', 63 - 'active_users' => 'Mga Aktib na User', 63 + 'active_users' => 'Mga Aktibong User', 64 64 'country' => 'Bansa', 65 65 'play_count' => 'Bilang ng Beses na Naglaro', 66 66 'performance' => 'Performance',
+14 -14
resources/lang/fil/report.php
··· 5 5 6 6 return [ 7 7 'beatmapset' => [ 8 - 'button' => 'I-report', 9 - 'title' => 'I-report ang beatmap ni :username?', 8 + 'button' => 'Isumbong', 9 + 'title' => 'Isumbong ang beatmap ni :username?', 10 10 ], 11 11 12 12 'beatmapset_discussion_post' => [ 13 - 'button' => 'I-report', 14 - 'title' => 'I-report ang post ni :username?', 13 + 'button' => 'Isumbong', 14 + 'title' => 'Isumbong ang post ni :username?', 15 15 ], 16 16 17 17 'comment' => [ 18 - 'button' => 'I-report', 19 - 'title' => 'I-report ang komento ni :username?', 18 + 'button' => 'Isumbong', 19 + 'title' => 'Isumbong ang komento ni :username?', 20 20 ], 21 21 22 22 'forum_post' => [ 23 - 'button' => 'I-report', 24 - 'title' => 'I-report ang post ni :username?', 23 + 'button' => 'Isumbong', 24 + 'title' => 'Isumbong ang post ni :username?', 25 25 ], 26 26 27 27 'message' => [ 28 - 'button' => '', 29 - 'title' => '', 28 + 'button' => 'Isumbong ang Mensahe', 29 + 'title' => 'Isumbong ang mensahe ni :username?', 30 30 ], 31 31 32 32 'scores' => [ 33 - 'button' => 'I-report ang score', 34 - 'title' => 'I-report ang score ni :username?', 33 + 'button' => 'Isumbong ang iskor', 34 + 'title' => 'Isumbong ang iskor ni :username?', 35 35 ], 36 36 37 37 'user' => [ 38 - 'button' => 'I-Sumbong', 39 - 'title' => 'I-report :username?', 38 + 'button' => 'Isumbong', 39 + 'title' => 'Isumbong si :username?', 40 40 ], 41 41 ];
+3 -3
resources/lang/fil/users.php
··· 164 164 'multiple_accounts' => 'Gumagamit ng maraming account', 165 165 'insults' => 'Iniinsulto ako o ang iba', 166 166 'spam' => 'Nag-iispam', 167 - 'unwanted_content' => 'Paglink ng hindi pwedeng content.', 167 + 'unwanted_content' => 'Paglink ng hindi pwedeng content', 168 168 'nonsense' => 'Bagay na walang kapararakan', 169 169 'other' => 'Iba( i type sa baba)', 170 170 ], ··· 243 243 244 244 'hue' => [ 245 245 'reset_no_supporter' => '', 246 - 'title' => '', 246 + 'title' => 'Kulay', 247 247 248 248 'supporter' => [ 249 249 '_' => '', ··· 476 476 'country' => 'Pambansang Ranggo para sa :mode', 477 477 'country_simple' => 'Pambansang Ranggo', 478 478 'global' => 'Pandaigdigang ranggo para sa :mode', 479 - 'global_simple' => 'Pambansang Ranggo', 479 + 'global_simple' => 'Pandaigdigang Ranggo', 480 480 'highest' => 'Pinakamataas na ranggo: :rank sa :date', 481 481 ], 482 482 'stats' => [
+13 -1
resources/lang/fr/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Vous ne pouvez pas envoyer un message à un utilisateur qui vous a bloqué ou que vous avez bloqué.', 65 71 'friends_only' => 'Cet utilisateur bloque les messages des utilisateurs qui ne sont pas dans sa liste d’amis.', 66 72 'moderated' => 'Ce canal est actuellement restreint par un modérateur.', 67 73 'no_access' => 'Vous n’avez pas accès à ce canal.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Vous n\'avez pas la permission de publier une annonce.', 69 75 'receive_friends_only' => 'L\'utilisateur n\'est peut-être pas en mesure de répondre parce que vous n\'acceptez que les messages des utilisateurs de votre liste d\'amis.', 70 76 'restricted' => 'Vous ne pouvez pas envoyer de messages en étant réduit au silence, restreint ou banni.', 71 77 'silenced' => 'Vous ne pouvez pas envoyer de messages en étant réduit au silence, restreint ou banni.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Ce forum n\'est accessible qu\'aux administrateurs.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/fr/beatmap_discussions.php
··· 66 66 'version' => 'Difficulté', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Connectez-vous pour répondre',
+4
resources/lang/fr/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'discussion de la beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/fr/forum.php
··· 80 80 'confirm_restore' => 'Voulez-vous vraiment restaurer ce sujet ?', 81 81 'deleted' => 'sujet supprimé', 82 82 'go_to_latest' => 'voir le dernier post', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Vous avez répondu à ce sujet', 84 85 'in_forum' => 'dans :forum', 85 86 'latest_post' => ':when par :user',
+2 -2
resources/lang/fr/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Difficulté', 14 - 'percentile_10' => 'Score du 10ᵉ centile', 15 - 'percentile_50' => 'Score médian', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+1 -1
resources/lang/fr/store.php
··· 123 123 ], 124 124 125 125 'item' => [ 126 - 'quantity' => 'Quantité', 126 + 'quantity' => 'quantité', 127 127 128 128 'display_name' => [ 129 129 'supporter_tag' => ':name pour :username (:duration)',
+16 -16
resources/lang/he/accounts.php
··· 10 10 11 11 'avatar' => [ 12 12 'title' => 'תמונת פרופיל', 13 - 'reset' => '', 14 - 'rules' => 'אנא וודא שהתמונה שלך קשורה ל :link<br/>זה אומר שזה צריך להיות <strong> מתאים לכל הגילים</strong> ובלי תוכן לא נעות, שפה לא נעותה או תוכן מרמז.', 13 + 'reset' => 'אפס', 14 + 'rules' => 'אנא וודא שתמונת הפרופיל שלכם תקינה לפי :link.<br/>זאת אומרת שהיא חייבת להיות <strong>מתאימה לכל הגילאים</strong>. לדוגמה: ללא עירום, תוכן מרמז, תוכן פוגעני.', 15 15 'rules_link' => 'חוקי הקהילה', 16 16 ], 17 17 ··· 20 20 'new_confirmation' => 'אישור דואר אלקטרוני חדש', 21 21 'title' => 'דואר אלקטרוני', 22 22 'locked' => [ 23 - '_' => '', 24 - 'accounts' => '', 23 + '_' => 'אנא צרו קשר עם ה:accounts אם אתם צריכים לעדכן את הדואר האלקטרוני שלכם.', 24 + 'accounts' => 'צוות תמיכת חשבון', 25 25 ], 26 26 ], 27 27 28 28 'legacy_api' => [ 29 - 'api' => '', 30 - 'irc' => '', 31 - 'title' => '', 29 + 'api' => 'api', 30 + 'irc' => 'irc', 31 + 'title' => 'api דור קודם', 32 32 ], 33 33 34 34 'password' => [ 35 - 'current' => 'סיסמא נוכחית', 36 - 'new' => 'סיסמא חדשה', 37 - 'new_confirmation' => 'אישור סיסמא', 38 - 'title' => 'סיסמא', 35 + 'current' => 'סיסמה נוכחית', 36 + 'new' => 'סיסמה חדשה', 37 + 'new_confirmation' => 'אישור סיסמה', 38 + 'title' => 'סיסמה', 39 39 ], 40 40 41 41 'profile' => [ ··· 43 43 'title' => 'פרופיל', 44 44 45 45 'country_change' => [ 46 - '_' => "", 47 - 'update_link' => '', 46 + '_' => "זה נראה שמדינת החשבון שלכם לא תואמת את מדינת המגורים שלכם.", 47 + 'update_link' => 'עדכן ל:country', 48 48 ], 49 49 50 50 'user' => [ ··· 78 78 79 79 'notifications' => [ 80 80 'beatmapset_discussion_qualified_problem' => 'לקבל הודעת בעת תקלה במפה מאומתת במודים הנלווים', 81 - 'beatmapset_disqualify' => 'קבלת התראות למפות עם המודים הנלווים נדחו', 82 - 'comment_reply' => 'לקבל התראות על מענה לתגובה שלך', 83 - 'title' => 'הודעות', 81 + 'beatmapset_disqualify' => 'קבלת התראות עבור כאשר מפות השייכות למצבי המשחק הבאים נפסלות', 82 + 'comment_reply' => 'קבל התראות עבור מענות לתגובות שלכם', 83 + 'title' => 'התראות', 84 84 'topic_auto_subscribe' => 'קבלת התראות אוטומטית בפורום אשר נוצר על ידך', 85 85 86 86 'options' => [
+12
resources/lang/he/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'לא ניתן לשלוח הודעה למשתמש שחסם אותך או שנחסם על ידייך.', 65 71 'friends_only' => 'המשתמש חוסם הודעות מאנשים שלא ברשימת החברים שלהם.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'רק מנהל יכול לראות את הפורום זה.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/he/beatmap_discussions.php
··· 66 66 'version' => '', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'התחבר כדי להגיב',
+4
resources/lang/he/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'דיוני מפה', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/he/forum.php
··· 80 80 'confirm_restore' => '', 81 81 'deleted' => 'נושא שנמחק', 82 82 'go_to_latest' => 'הצג את הפוסט האחרון', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'הגבת בנושא זה', 84 85 'in_forum' => 'ב :forum ', 85 86 'latest_post' => ':when על-ידי :user',
+2 -2
resources/lang/he/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'רמת קושי', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/hr-HR/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Ne možeš poslati poruku korisniku koji te blokira ili kojeg si blokirao/la.', 65 71 'friends_only' => 'Korisnik blokira poruke od ljudi koji nisu na njegovoj/njezinoj listi prijatelja.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Samo administrator može vidjeti ovaj forum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/hr-HR/beatmap_discussions.php
··· 66 66 'version' => 'Težina', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Prijavi se da odgovoriš',
+4
resources/lang/hr-HR/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'rasprava o beatmapama', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/hr-HR/forum.php
··· 80 80 'confirm_restore' => '', 81 81 'deleted' => '', 82 82 'go_to_latest' => '', 83 + 'go_to_unread' => '', 83 84 'has_replied' => '', 84 85 'in_forum' => '', 85 86 'latest_post' => '',
+2 -2
resources/lang/hr-HR/rankings.php
··· 12 12 13 13 'daily_challenge' => [ 14 14 'beatmap' => '', 15 - 'percentile_10' => '', 16 - 'percentile_50' => '', 15 + 'top_10p' => '', 16 + 'top_50p' => '', 17 17 ], 18 18 19 19 'filter' => [
+1 -1
resources/lang/hu/accounts.php
··· 10 10 11 11 'avatar' => [ 12 12 'title' => 'Avatár', 13 - 'reset' => '', 13 + 'reset' => 'alaphelyzet', 14 14 '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.', 15 15 'rules_link' => 'a közösségi szabályok', 16 16 ],
+13 -1
resources/lang/hu/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Nem küldhetsz üzenetet olyan felhasználónak akiket letiltottál, vagy téged tiltottak le.', 65 71 'friends_only' => 'A felhasználó letiltotta a baráti listáján nem szereplő emberek üzeneteinek fogadását.', 66 72 'moderated' => 'A csatorna jelenleg moderálva van.', 67 73 'no_access' => 'Nincs hozzáférésed a csatornához.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Nincs jogosultságod bejelentés megosztásához.', 69 75 'receive_friends_only' => 'user lehet nem fog tudni visszaírni, mert csak a barátlistádon lévő emberektől fogadsz üzeneteket.', 70 76 'restricted' => 'Nem küldhetsz üzeneteket némított, felfüggesztett vagy kitiltott állapotban.', 71 77 'silenced' => 'Némítva, felfüggesztve vagy kitiltva nem küldhetsz üzeneteket.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Csak admin láthatja ezt a fórumot.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/hu/beatmap_discussions.php
··· 66 66 'version' => 'Nehézség', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Jelentkezz be a válaszoláshoz',
+2 -2
resources/lang/hu/beatmaps.php
··· 25 25 'message_placeholder_silenced' => "Nem hozhatsz létre beszélgetést, amíg némítva vagy.", 26 26 'message_type_select' => 'Komment-típus választása', 27 27 'reply_notice' => 'Nyomj entert a válaszoláshoz.', 28 - 'reply_resolve_notice' => '', 28 + 'reply_resolve_notice' => 'Nyomj entert a válaszhoz. Nyomj ctrl+entert a válaszhoz és a megoldáshoz.', 29 29 'reply_placeholder' => 'Ide írd a válaszod', 30 30 'require-login' => 'Kérlek jelentkezz be a hozzászóláshoz illetve válaszoláshoz', 31 31 'resolved' => 'Megoldott', 32 32 'restore' => 'visszaállítás', 33 33 'show_deleted' => 'Töröltek megjelenítése', 34 34 'title' => 'Megbeszélések', 35 - 'unresolved_count' => '', 35 + 'unresolved_count' => ':count_delimited megoldatlan probléma|:count_delimited megoldatlan probléma', 36 36 37 37 'collapse' => [ 38 38 'all-collapse' => 'Az összes becsukása',
+2 -2
resources/lang/hu/beatmapsets.php
··· 17 17 18 18 'download' => [ 19 19 'limit_exceeded' => 'Lassíts le, játssz többet.', 20 - 'no_mirrors' => '', 20 + 'no_mirrors' => 'Nem érhető el letöltés kiszolgáló.', 21 21 ], 22 22 23 23 'featured_artist_badge' => [ ··· 52 52 53 53 'dialog' => [ 54 54 'confirmation' => 'Biztosan nominálni szeretnéd ezt a Beatmap-et?', 55 - 'different_nominator_warning' => '', 55 + 'different_nominator_warning' => 'A beatmap kvalifikálása különbözű nominálókkal a kvalifikálási várólístai helyének visszaállításával jár.', 56 56 'header' => 'Beatmap Nominálása', 57 57 'hybrid_warning' => 'megjegyzés: csak egyszer nominálhatsz, ezért kérlek győződj meg róla, hogy minden játékmódra nominálsz, amire szeretnél', 58 58 'current_main_ruleset' => 'A fő ruleszet jelenleg: :ruleset',
+1 -1
resources/lang/hu/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'comments' => '', 17 + 'comments' => 'hozzászolások', 18 18 'hide_judged' => 'elrejteni az elbírált bejegyzéseket', 19 19 'nav_title' => 'bíró', 20 20 'no_current_vote' => 'még nem szavaztál.',
+1 -1
resources/lang/hu/errors.php
··· 29 29 'generic' => 'Hiba történt a fizetés előkészítése közben.', 30 30 ], 31 31 'scores' => [ 32 - 'invalid_id' => '', 32 + 'invalid_id' => 'Érvénytelen eredmény azonosító.', 33 33 ], 34 34 'search' => [ 35 35 'default' => 'Nem sikerült bármi eredményt kapni, kérlek próbáld meg később.',
+4
resources/lang/hu/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'beatmap megbeszélés', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/hu/forum.php
··· 80 80 'confirm_restore' => 'Biztosan visszaállítod a témát?', 81 81 'deleted' => 'törölt téma', 82 82 'go_to_latest' => 'utolsó hozzászólás megtekintése', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Feliratkoztál erre a témára', 84 85 'in_forum' => 'ide :forum', 85 86 'latest_post' => ':when :user által',
+2 -2
resources/lang/hu/layout.php
··· 199 199 'legacy_score_only_toggle_tooltip' => 'A Lazer mód a Lazer által beállított pontszámokat mutatja egy új pontozási algoritmussal', 200 200 'logout' => 'Kijelentkezés', 201 201 'profile' => 'Profilom', 202 - 'scoring_mode_toggle' => '', 203 - 'scoring_mode_toggle_tooltip' => '', 202 + 'scoring_mode_toggle' => 'Klasszikus pontozás', 203 + 'scoring_mode_toggle_tooltip' => 'Módosítja a pontszámértékeket úgy, hogy közelebb álljon a klasszikus korlátlan pontozáshoz', 204 204 ], 205 205 ], 206 206
+1 -1
resources/lang/hu/oauth.php
··· 7 7 'cancel' => 'Mégse', 8 8 9 9 'authorise' => [ 10 - 'app_owner' => '', 10 + 'app_owner' => 'egy alkalmazás :owner által', 11 11 'request' => 'engedélyt kér a fiókodhoz.', 12 12 'scopes_title' => 'Ez az alkalmazás képes lesz a:', 13 13 'title' => 'Hitelesítési Kérelem',
+4 -4
resources/lang/hu/rankings.php
··· 10 10 ], 11 11 12 12 'daily_challenge' => [ 13 - 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 13 + 'beatmap' => 'Nehézség', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [ ··· 36 36 'type' => [ 37 37 'charts' => 'Reflektorfény', 38 38 'country' => 'Ország', 39 - 'daily_challenge' => '', 39 + 'daily_challenge' => 'napi kihívás', 40 40 'kudosu' => 'kudosu', 41 41 'multiplayer' => 'többjátékos', 42 42 'performance' => 'Teljesítmény',
+17 -17
resources/lang/hu/users.php
··· 197 197 'to_1' => 'Felfedés', 198 198 ], 199 199 'daily_challenge' => [ 200 - 'daily' => '', 201 - 'daily_streak_best' => '', 202 - 'daily_streak_current' => '', 203 - 'playcount' => '', 204 - 'title' => '', 205 - 'top_10p_placements' => '', 206 - 'top_50p_placements' => '', 207 - 'weekly' => '', 208 - 'weekly_streak_best' => '', 209 - 'weekly_streak_current' => '', 200 + 'daily' => 'Napi Streak', 201 + 'daily_streak_best' => 'Legjobb Napi Streak', 202 + 'daily_streak_current' => 'Jelenlegi Napi Streak', 203 + 'playcount' => 'Összes Részvétel', 204 + 'title' => 'Napi\nKihívás', 205 + 'top_10p_placements' => 'Top 10% Helyek', 206 + 'top_50p_placements' => 'Top 50% Helyek', 207 + 'weekly' => 'Heti Streak', 208 + 'weekly_streak_best' => 'Legjobb Heti Streak', 209 + 'weekly_streak_current' => 'Jelenlegi Heti Streak', 210 210 211 211 'unit' => [ 212 - 'day' => '', 213 - 'week' => '', 212 + 'day' => ':valued', 213 + 'week' => ':valuew', 214 214 ], 215 215 ], 216 216 'edit' => [ ··· 218 218 'button' => 'Profil Borító Változtatása', 219 219 'defaults_info' => 'További borító lehetőségek a jövőben lesznek elérhetőek', 220 220 'holdover_remove_confirm' => "A korábban kiválasztott borító már nem választható. Másik borítóra váltás után nem választhatja vissza. Folytatja?", 221 - 'title' => '', 221 + 'title' => 'Borító', 222 222 223 223 'upload' => [ 224 224 'broken_file' => 'Kép feldolgozása sikertelen. Ellenőrizd a feltöltött képet és próbáld meg újra.', ··· 242 242 ], 243 243 244 244 'hue' => [ 245 - 'reset_no_supporter' => '', 246 - 'title' => '', 245 + 'reset_no_supporter' => 'Alaphelyzetbe állítod a színt? Csak támogatói címmel tudod majd megváltoztatni más színre.', 246 + 'title' => 'Szín', 247 247 248 248 'supporter' => [ 249 - '_' => '', 250 - 'link' => '', 249 + '_' => 'Egyéni színtémák csak :link számára érhetőek el', 250 + 'link' => 'osu!támogatók', 251 251 ], 252 252 ], 253 253 ],
+9 -9
resources/lang/id/accounts.php
··· 71 71 72 72 'error' => [ 73 73 'already_linked' => 'Akun GitHub ini telah terhubung ke pengguna lain.', 74 - 'no_contribution' => 'Akun GitHub yang tidak memiliki riwayat kontribusi terhadap repositori osu! tidak dapat ditautkan.', 74 + 'no_contribution' => 'Tidak dapat menautkan akun GitHub yang tidak memiliki kontribusi terhadap proyek osu!', 75 75 'unverified_email' => 'Silakan verifikasi email utama kamu pada GitHub, lalu cobalah untuk menghubungkan akunmu kembali.', 76 76 ], 77 77 ], ··· 79 79 'notifications' => [ 80 80 'beatmapset_discussion_qualified_problem' => 'terima notifikasi pada saat terdapat masalah baru pada beatmap yang berstatus Qualified pada mode', 81 81 'beatmapset_disqualify' => 'terima notifikasi pada saat terdapat beatmap yang terdiskualifikasi pada mode', 82 - 'comment_reply' => 'terima notifikasi pada saat terdapat balasan baru pada komentar yang kamu tulis', 82 + 'comment_reply' => 'terima notifikasi untuk balasan baru pada komentar yang kamu tulis', 83 83 'title' => 'Notifikasi', 84 84 'topic_auto_subscribe' => 'aktifkan notifikasi secara otomatis bagi topik forum baru yang kamu buat atau balas', 85 85 86 86 'options' => [ 87 87 '_' => 'kirimkan notifikasi melalui', 88 88 'beatmap_owner_change' => 'guest difficulty', 89 - 'beatmapset:modding' => 'modding beatmap', 89 + 'beatmapset:modding' => 'modding', 90 90 'channel_message' => 'pesan pribadi', 91 91 'comment_new' => 'komentar baru', 92 92 'forum_topic_reply' => 'balasan pada topik', 93 93 'mail' => 'email', 94 - 'mapping' => 'pembuat beatmap', 95 - 'push' => 'web', 94 + 'mapping' => 'mapper', 95 + 'push' => 'push (web)', 96 96 ], 97 97 ], 98 98 99 99 'oauth' => [ 100 - 'authorized_clients' => 'klien yang terizin', 101 - 'own_clients' => 'klien yang dimiliki', 100 + 'authorized_clients' => 'klien diizinkan', 101 + 'own_clients' => 'klien dimiliki', 102 102 'title' => 'OAuth', 103 103 ], 104 104 ··· 108 108 'title' => 'Pengaturan', 109 109 110 110 'beatmapset_download' => [ 111 - '_' => 'tipe pengunduhan beatmap default', 111 + '_' => 'tipe pengunduhan beatmap bawaan', 112 112 'all' => 'dengan video (apabila tersedia)', 113 113 'direct' => 'buka melalui osu!direct', 114 114 'no_video' => 'tanpa video', ··· 126 126 'privacy' => [ 127 127 'friends_only' => 'blokir pesan pribadi dari pengguna yang tidak berada dalam daftar temanmu', 128 128 'hide_online' => 'sembunyikan status onlinemu', 129 - 'title' => 'Kebijakan Privasi', 129 + 'title' => 'Privasi', 130 130 ], 131 131 132 132 'security' => [
+13 -1
resources/lang/id/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Kamu tidak dapat mengirim pesan kepada pengguna yang kamu blokir atau memblokir dirimu.', 65 71 'friends_only' => 'Pengguna ini memblokir pesan dari pengguna lain yang tidak berada dalam daftar temannya.', 66 72 'moderated' => 'Kanal percakapan ini sedang dimoderasi.', 67 73 'no_access' => 'Kamu tidak memiliki akses ke kanal percakapan ini.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Kamu tidak memiliki izin untuk membuat pengumuman.', 69 75 'receive_friends_only' => 'Pengguna ini mungkin tidak akan dapat membalas karena kamu hanya menerima pesan dari pengguna lain yang berada dalam daftar temanmu.', 70 76 'restricted' => 'Kamu tidak dapat mengirim pesan pada saat kamu sedang di-silence, di-restrict, atau di-ban.', 71 77 'silenced' => 'Kamu tidak dapat mengirim pesan pada saat kamu sedang di-silence, di-restrict, atau di-ban.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Hanya admin yang dapat melihat forum ini.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+8 -1
resources/lang/id/beatmap_discussions.php
··· 66 66 'version' => 'Tingkat Kesulitan', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Masuk untuk Menanggapi', ··· 85 92 'invalid_discussion_type' => 'tipe diskusi tidak valid', 86 93 'minimum_issues' => 'kajian harus mengandung setidaknya :count isu|kajian harus mengandung setidaknya :count isu', 87 94 'missing_text' => 'blok tidak mengandung teks', 88 - 'too_many_blocks' => 'kajian hanya dapat mengandung maksimal :count paragraf/isu|kajian hanya dapat mengandung maksimal :count paragraf/isu', 95 + 'too_many_blocks' => 'kajian hanya dapat mengandung :count paragraf/isu|kajian hanya dapat mengandung hingga :count paragraf/isu', 89 96 ], 90 97 ], 91 98
+2 -2
resources/lang/id/beatmappacks.php
··· 19 19 'show' => [ 20 20 'download' => 'Unduh', 21 21 'item' => [ 22 - 'cleared' => 'telah dimainkan', 23 - 'not_cleared' => 'belum dimainkan', 22 + 'cleared' => 'telah dituntaskan', 23 + 'not_cleared' => 'belum dituntaskan', 24 24 ], 25 25 'no_diff_reduction' => [ 26 26 '_' => ':link tidak dapat digunakan untuk menuntaskan paket ini.',
+6 -6
resources/lang/id/beatmaps.php
··· 106 106 'new' => [ 107 107 'pin' => 'Sematkan', 108 108 'timestamp' => 'Keterangan Waktu', 109 - 'timestamp_missing' => 'salin (ctrl+c) objek di editor dan tempelkan (ctrl+v) pada boks di atas untuk membubuhkan keterangan waktu!', 109 + 'timestamp_missing' => 'salin (ctrl+c) objek pada mode edit dan tempelkan (ctrl+v) pada pesanmu untuk menambahkan keterangan waktu!', 110 110 'title' => 'Topik Diskusi Baru', 111 111 'unpin' => 'Lepas Sematan', 112 112 ], ··· 119 119 'unlink' => 'Lepas Tautan', 120 120 'unsaved' => 'Belum Tersimpan', 121 121 'timestamp' => [ 122 - 'all-diff' => 'Keterangan waktu tidak dapat dibubuhkan pada topik diskusi yang tertuju pada "Umum (Seluruh tingkat kesulitan)".', 122 + 'all-diff' => 'Postingan yang tertuju pada "Umum (Seluruh tingkat kesulitan)" tidak dapat mengandung keterangan waktu.', 123 123 'diff' => 'Apabila topik diskusi ini dimulai dengan keterangan waktu, topik ini akan muncul pada tab Linimasa.', 124 124 ], 125 125 ], ··· 154 154 'status-messages' => [ 155 155 'approved' => 'Beatmap ini telah di-approve pada tanggal :date!', 156 156 'graveyard' => "Beatmap ini belum diperbarui sejak :date dan sepertinya telah diabaikan oleh pembuatnya...", 157 - 'loved' => 'Beatmap ini telah ditambahkan pada kategori Loved pada tanggal :date!', 157 + 'loved' => 'Beatmap ini telah ditambahkan ke kategori Loved pada tanggal :date!', 158 158 'ranked' => 'Beatmap ini telah di-rank pada tanggal :date!', 159 159 'wip' => 'Catatan: Beatmap ini ditandai dengan status dalam pengerjaan (work-in-progress) oleh pembuatnya.', 160 160 ], ··· 211 211 'required_text' => 'Nominasi: :current/:required', 212 212 'reset_message_deleted' => 'dihapus', 213 213 'title' => 'Status Nominasi', 214 - 'unresolved_issues' => 'Terdapat satu atau lebih masalah yang belum terjawab dan harus ditangani terlebih dahulu.', 214 + 'unresolved_issues' => 'Terdapat masalah belum terjawab yang harus diselesaikan terlebih dahulu.', 215 215 216 216 'rank_estimate' => [ 217 - '_' => 'Map ini diperkirakan akan berstatus Ranked :date apabila tidak terdapat masalah yang ditemukan. Map ini berada pada urutan ke-:position dalam :queue yang ada.', 217 + '_' => 'Map ini diperkirakan akan berstatus Ranked :date apabila tidak terdapat masalah yang ditemukan. Map ini berada pada urutan ke-:position dalam :queue saat ini.', 218 218 'unresolved_problems' => 'Beatmap ini sedang diblokir untuk dapat melewati kategori Qualified hingga :problems terselesaikan.', 219 219 'problems' => 'masalah berikut', 220 220 'on' => 'pada tanggal :date', ··· 239 239 'prompt' => 'ketik kata kunci pencarian...', 240 240 'login_required' => 'Silakan masuk untuk memulai pencarian.', 241 241 'options' => 'Pilihan Pencarian Lebih Lanjut', 242 - 'supporter_filter' => 'Penyaringan berdasarkan :filters memerlukan osu!supporter tag yang aktif', 242 + 'supporter_filter' => 'Penyaringan berdasarkan :filters memerlukan tag osu!supporter yang aktif', 243 243 'not-found' => 'tidak ada hasil', 244 244 'not-found-quote' => '… enggak, tidak ada yang ditemukan.', 245 245 'filters' => [
+5 -5
resources/lang/id/comments.php
··· 4 4 // See the LICENCE file in the repository root for full licence text. 5 5 6 6 return [ 7 - 'deleted' => 'telah dihapus', 7 + 'deleted' => 'dihapus', 8 8 'deleted_by' => 'dihapus :timeago oleh :user', 9 9 'deleted_by_system' => 'sistem', 10 10 'deleted_count' => ':count_delimited komentar yang dihapus|:count_delimited komentar yang dihapus', ··· 25 25 26 26 'editor' => [ 27 27 'textarea_hint' => [ 28 - '_' => 'Tekan enter untuk mengirimkan :action. Gunakan shift+enter untuk memulai baris baru.', 29 - 'edit' => 'simpan', 30 - 'new' => 'komentar', 31 - 'reply' => 'balasan', 28 + '_' => 'Tekan enter untuk :action. Gunakan shift+enter untuk memulai baris baru.', 29 + 'edit' => 'menyimpan suntingan', 30 + 'new' => 'mengirimkan komentar', 31 + 'reply' => 'membalas', 32 32 ], 33 33 ], 34 34
+1 -1
resources/lang/id/common.php
··· 5 5 6 6 return [ 7 7 'confirmation' => 'Apakah kamu yakin?', 8 - 'confirmation_unsaved' => 'Segala perubahan yang tidak disimpan akan hilang. Apakah kamu yakin?', 8 + 'confirmation_unsaved' => 'Seluruh perubahan yang belum disimpan akan hilang. Apakah kamu yakin?', 9 9 'saved' => 'Tersimpan', 10 10 11 11 'array_and' => [
+1 -1
resources/lang/id/community.php
··· 29 29 ], 30 30 'ads' => [ 31 31 'title' => 'Membantu osu! Tetap Mandiri', 32 - 'description' => 'Kontribusimu membantu osu! untuk tetap mandiri dan sepenuhnya terbebas dari iklan maupun sponsor.', 32 + 'description' => 'Kontribusimu membantu menjaga permainan ini untuk tetap mandiri dan sepenuhnya terbebas dari iklan maupun sponsor.', 33 33 ], 34 34 'tournaments' => [ 35 35 'title' => 'Pendanaan Turnamen Resmi',
+4
resources/lang/id/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'diskusi beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+2 -1
resources/lang/id/forum.php
··· 80 80 'confirm_restore' => 'Apakah kamu yakin untuk memulihkan topik ini?', 81 81 'deleted' => 'topik yang dihapus', 82 82 'go_to_latest' => 'lihat postingan terbaru', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Kamu telah mengirimkan balasan pada topik ini', 84 85 'in_forum' => 'pada forum :forum', 85 86 'latest_post' => ':when oleh :user', ··· 371 372 'to_not_watching' => 'Tidak dimarkahi', 372 373 'to_watching' => 'Markahi', 373 374 'to_watching_mail' => 'Markahi dengan notifikasi', 374 - 'tooltip_mail_disable' => 'Notifikasi untuk topik ini sedang tidak aktif. Klik untuk mengaktifkan notifikasi', 375 + 'tooltip_mail_disable' => 'Notifikasi untuk topik ini sedang aktif. Klik untuk menonaktifkan notifikasi', 375 376 'tooltip_mail_enable' => 'Notifikasi untuk topik ini sedang tidak aktif. Klik untuk mengaktifkan notifikasi', 376 377 ], 377 378 ],
+3 -3
resources/lang/id/legacy_api_key.php
··· 23 23 ], 24 24 25 25 'warning' => [ 26 - 'line1' => 'Jangan berikan informasi ini kepada siapa pun.', 27 - 'line2' => "Ini sama halnya membagikan akunmu pada yang lain.", 28 - 'line3' => 'Harap untuk tidak membagikan informasi ini.', 26 + 'line1' => 'Jangan bagikan informasi ini kepada siapa pun.', 27 + 'line2' => "Tindakan ini sama halnya dengan memberikan kata sandimu.", 28 + 'line3' => 'Apabila kamu gegabah, akunmu akan dapat disusupi.', 29 29 ], 30 30 ];
+1 -1
resources/lang/id/notifications.php
··· 24 24 ], 25 25 26 26 'filters' => [ 27 - '_' => 'semua notifikasi', 27 + '_' => 'semua', 28 28 'user' => 'profil', 29 29 'beatmapset' => 'beatmap', 30 30 'forum_topic' => 'forum',
+2 -2
resources/lang/id/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Tingkat Kesulitan', 14 - 'percentile_10' => 'Skor Persentil Ke-10', 15 - 'percentile_50' => 'Skor Persentil Ke-50', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+1 -1
resources/lang/id/store.php
··· 172 172 ], 173 173 174 174 'add_to_cart' => 'Tambahkan ke Keranjang', 175 - 'notify' => 'Beri tahu saya bila telah tersedia!', 175 + 'notify' => 'Beri tahu saya ketika telah tersedia!', 176 176 177 177 'notification_success' => 'kamu akan menerima notifikasi pada saat kami memiliki stok baru. klik :link untuk membatalkan', 178 178 'notification_remove_text' => 'di sini',
+1 -1
resources/lang/id/users.php
··· 75 75 'warning' => "Apabila kamu melanggar peraturan, akunmu akan ditempatkan pada masa percobaan selama satu bulan, di mana dalam rentang waktu ini kami tidak akan menanggapi permintaan apa pun yang terkait dengan akun Anda. Setelah masa ini berakhir, Anda baru akan dapat menghubungi kami untuk mengembalikan akunmu. Mohon diperhatikan bahwa membuat akun baru <strong>hanya akan menambah masa hukumanmu</strong>, dan <strong>masa hukumanmu akan bertambah panjang untuk setiap akun baru yang kamu buat</strong>. Kami harap kamu dapat belajar dari kesalahanmu!", 76 76 77 77 'if_mistake' => [ 78 - '_' => 'Apabila kamu merasa bahwa hal ini merupakan sebuah kesalahan, kamu dapat menghubungi kami (baik melalui :email atau tombol "?" yang terletak pada pojok kanan bawah layar) sesegera mungkin. Mohon diperhatikan bahwa segala keputusan yang kami ambil selalu berdasar pada data dan diambil dengan penuh keyakinan. Di samping itu, kami juga berhak untuk tidak menindaklanjuti aduanmu apabila kami merasa kamu dengan sengaja telah berbohong kepada kami.', 78 + '_' => 'Apabila kamu merasa bahwa hal ini merupakan sebuah kesalahan, kamu dipersilakan untuk menghubungi kami (baik melalui :email atau tombol "?" yang terletak pada pojok kanan bawah halaman ini) secara langsung. Mohon diperhatikan bahwa kami selalu sepenuhnya yakin akan seluruh tindakan kami, karena segala sesuatunya selalu kami dasarkan pada data yang konkrit. Kami berhak untuk tidak menindaklanjuti aduanmu apabila kami merasa kamu dengan sengaja telah berbohong kepada kami.', 79 79 'email' => 'email', 80 80 ], 81 81
+13 -1
resources/lang/it/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Non puoi inviare messaggi a un utente che ti sta bloccando o che hai bloccato.', 65 71 'friends_only' => 'L\'utente sta bloccando i messaggi da chi non è nella sua lista amici.', 66 72 'moderated' => 'Questo canale è attualmente moderato.', 67 73 'no_access' => 'Non hai accesso a quel canale.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Non hai il permesso di pubblicare un annuncio.', 69 75 'receive_friends_only' => 'L\'utente potrebbe non essere in grado di rispondere perché stai accettando messaggi solo da persone della tua lista amici.', 70 76 'restricted' => 'Non puoi inviare messaggi mentre sei silenziato, limitato o bannato.', 71 77 'silenced' => 'Non puoi inviare messaggi mentre sei silenziato, limitato o bannato.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Solo gli amministratori possono vedere questo forum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/it/beatmap_discussions.php
··· 66 66 'version' => 'Difficoltà', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Registrati per Rispondere',
+4
resources/lang/it/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'discussioni beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/it/forum.php
··· 80 80 'confirm_restore' => 'Vuoi veramente ripristinare il topic?', 81 81 'deleted' => 'discussione eliminata', 82 82 'go_to_latest' => 'guarda l\'ultimo post', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Hai risposto a questo topic', 84 85 'in_forum' => 'in :forum', 85 86 'latest_post' => ':when da :user',
+2 -2
resources/lang/it/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Difficoltà', 14 - 'percentile_10' => 'Punteggio nel primo 10%', 15 - 'percentile_50' => 'Punteggio nel primo 50%', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+1 -1
resources/lang/it/store.php
··· 123 123 ], 124 124 125 125 'item' => [ 126 - 'quantity' => 'Quantità', 126 + 'quantity' => 'quantità', 127 127 128 128 'display_name' => [ 129 129 'supporter_tag' => ':name per :username (:duration)',
+1 -1
resources/lang/it/users.php
··· 8 8 9 9 'beatmapset_activities' => [ 10 10 'title' => "Cronologia Modding di :user", 11 - 'title_compact' => 'Moderazione', 11 + 'title_compact' => 'Modding', 12 12 13 13 'discussions' => [ 14 14 'title_recent' => 'Discussioni aperte di recente',
+13 -1
resources/lang/ja/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'あなたをブロックしているユーザーまたは、あなたがブロックしているユーザーとはメッセージをやり取りできません。', 65 71 'friends_only' => 'ユーザーはフレンドリストにいない人からのメッセージをブロックしています。', 66 72 'moderated' => 'そのチャンネルは現在制限がかかっています。', 67 73 'no_access' => 'あなたはそのチャンネルにアクセスするための権限を持っていません。', 68 - 'no_announce' => '', 74 + 'no_announce' => 'アナウンスを投稿する権限がありません。', 69 75 'receive_friends_only' => 'フレンドリストの人からのみメッセージを受信するようにしているため、ユーザーは返信できない場合があります。', 70 76 'restricted' => 'あなたがサイレンス、制限またはBanされている間はメッセージを送信できません。', 71 77 'silenced' => 'あなたがサイレンス、制限またはBanされている間はメッセージを送信できません。', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'このフォーラムは管理人のみ閲覧可能です。', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/ja/beatmap_discussions.php
··· 66 66 'version' => '難易度', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'ログインして返信する',
+1 -1
resources/lang/ja/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'comments' => '', 17 + 'comments' => 'コメント', 18 18 'hide_judged' => '', 19 19 'nav_title' => '', 20 20 'no_current_vote' => 'あなたはまだ投票していません。',
+1 -1
resources/lang/ja/errors.php
··· 29 29 'generic' => '支払い準備中にエラーが発生しました。', 30 30 ], 31 31 'scores' => [ 32 - 'invalid_id' => '', 32 + 'invalid_id' => '無効なスコアID。', 33 33 ], 34 34 'search' => [ 35 35 'default' => '結果の取得に失敗しました。もう一度お試しください。',
+4
resources/lang/ja/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'ビートマップディスカッション', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/ja/forum.php
··· 80 80 'confirm_restore' => 'トピックを本当に復元しますか?', 81 81 'deleted' => '削除されたトピック', 82 82 'go_to_latest' => '最新の投稿を見る', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'このトピックに返信しました', 84 85 'in_forum' => ':forum', 85 86 'latest_post' => ':when by :user',
+3 -3
resources/lang/ja/layout.php
··· 196 196 'follows' => 'ウォッチリスト', 197 197 'friends' => 'フレンド', 198 198 'legacy_score_only_toggle' => 'Lazerモード', 199 - 'legacy_score_only_toggle_tooltip' => 'Lazer nodeは、新しいスコアリングアルゴリズムを使用して、Lazerから提出されたスコアを表示します', 199 + 'legacy_score_only_toggle_tooltip' => 'Lazerモードは、新しいスコアリングアルゴリズムを使用して、Lazerから提出されたスコアを表示します', 200 200 'logout' => 'ログアウト', 201 201 'profile' => 'プロフィール', 202 - 'scoring_mode_toggle' => '', 203 - 'scoring_mode_toggle_tooltip' => '', 202 + 'scoring_mode_toggle' => 'クラシックスコアリング', 203 + 'scoring_mode_toggle_tooltip' => 'スコア値を調整し、クラシックな無制限スコアリングに近い感覚に変える', 204 204 ], 205 205 ], 206 206
+2 -2
resources/lang/ja/models.php
··· 4 4 // See the LICENCE file in the repository root for full licence text. 5 5 6 6 return [ 7 - 'not_found' => "", 7 + 'not_found' => "指定された :model は見つかりませんでした。", 8 8 9 9 'name' => [ 10 - 'App\Models\Beatmap' => '', 10 + 'App\Models\Beatmap' => 'ビートマップの難易度', 11 11 'App\Models\Beatmapset' => 'ビートマップ', 12 12 ], 13 13 ];
+4 -4
resources/lang/ja/rankings.php
··· 10 10 ], 11 11 12 12 'daily_challenge' => [ 13 - 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 13 + 'beatmap' => '難易度', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [ ··· 36 36 'type' => [ 37 37 'charts' => 'スポットライト', 38 38 'country' => '国別', 39 - 'daily_challenge' => '', 39 + 'daily_challenge' => 'デイリーチャレンジ', 40 40 'kudosu' => 'kudosu', 41 41 'multiplayer' => 'マルチプレイ', 42 42 'performance' => 'パフォーマンス',
+2 -2
resources/lang/ja/report.php
··· 25 25 ], 26 26 27 27 'message' => [ 28 - 'button' => '', 29 - 'title' => '', 28 + 'button' => 'メッセージを報告', 29 + 'title' => ':username のメッセージを報告しますか?', 30 30 ], 31 31 32 32 'scores' => [
+2 -2
resources/lang/ja/score_tokens.php
··· 5 5 6 6 return [ 7 7 'create' => [ 8 - 'beatmap_hash_invalid' => '', 9 - 'submission_disabled' => '', 8 + 'beatmap_hash_invalid' => 'beatmap_hashが正しくないか抜けているようです。', 9 + 'submission_disabled' => 'スコアの送信は無効です。', 10 10 ], 11 11 ];
+1 -1
resources/lang/ja/sort.php
··· 32 32 ], 33 33 34 34 'forum_topics' => [ 35 - 'created' => '', 35 + 'created' => '作成日', 36 36 'feature_votes' => 'スターの優先度', 37 37 'new' => '最後の返信', 38 38 ],
+12
resources/lang/kk-KZ/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Сізді бұғаттаған немесе сіз бұғаттаған қолданушыға жаза алмайсыз.', 65 71 'friends_only' => 'Қолданушы достары емес адамдардан келетін хабарламаларды бұғаттауда.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Бұл форумды тек әкімші көре алады.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/kk-KZ/beatmap_discussions.php
··· 66 66 'version' => 'Деңгейі', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Жауап беру үшін аккаунтқа кіріңіз',
+4
resources/lang/kk-KZ/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/kk-KZ/forum.php
··· 80 80 'confirm_restore' => '', 81 81 'deleted' => 'жойылған тақырып', 82 82 'go_to_latest' => 'соңғы жазбаны қарау', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Сіз осы тақырыпқа жауап бердіңіз', 84 85 'in_forum' => ':forum-да', 85 86 'latest_post' => '',
+2 -2
resources/lang/kk-KZ/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/ko/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => '당신을 차단하였거나 당신이 차단한 유저에게 메시지를 보낼 수 없습니다.', 65 71 'friends_only' => '해당 유저는 친구가 아닌 유저의 메시지를 차단한 상태입니다.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => '관리자만 열람이 가능한 포럼입니다.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/ko/beatmap_discussions.php
··· 66 66 'version' => '난이도', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => '답글을 달려면 로그인하세요',
+4
resources/lang/ko/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '비트맵 토론', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/ko/forum.php
··· 80 80 'confirm_restore' => '정말 이 주제를 복원할까요?', 81 81 'deleted' => '삭제된 주제', 82 82 'go_to_latest' => '최근에 올라온 글 보기', 83 + 'go_to_unread' => '', 83 84 'has_replied' => '이 주제에 답글을 달았습니다.', 84 85 'in_forum' => ':forum에서', 85 86 'latest_post' => ':when by :user',
+2 -2
resources/lang/ko/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '난이도', 14 - 'percentile_10' => '상위 10% 점수', 15 - 'percentile_50' => '상위 50% 점수', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/lt/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Negalima išsiųsti žinučių vartotojui, kuris yra jūs užblokavęs, ar jūs esat užblokavę.', 65 71 'friends_only' => 'Vartotojas šiuo metu užblokavo žinutės iš žmonių, kurie nėra vartotojo draugų sąraše.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Šį forumą gali skaityti tik administratoriai.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/lt/beatmap_discussions.php
··· 67 67 'version' => 'Sunkumas', 68 68 ], 69 69 70 + 'refresh' => [ 71 + 'checking' => '', 72 + 'has_updates' => '', 73 + 'no_updates' => '', 74 + 'updating' => '', 75 + ], 76 + 70 77 'reply' => [ 71 78 'open' => [ 72 79 'guest' => 'Atsakymui reikia prisijungti',
+4
resources/lang/lt/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'beatmap\'o diskusija', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/lt/forum.php
··· 80 80 'confirm_restore' => 'Tikrai gražinti temą?', 81 81 'deleted' => 'ištrintos temos', 82 82 'go_to_latest' => 'peržiūrėti naujausius įrašus', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Jūs atsakėte į šią temą', 84 85 'in_forum' => 'tarp :forum', 85 86 'latest_post' => ':when iš :user',
+2 -2
resources/lang/lt/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/lv-LV/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Nevar nosūtīt ziņu lietotājam, kurš nobloķējis jūs vai kuru jūs esat nobloķējis.', 65 71 'friends_only' => 'Lietotājs bloķē ziņas no cilvēkiem, kas nav viņa draugu sarakstā.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Tikai administrators var skatīt šo forumu.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/lv-LV/beatmap_discussions.php
··· 66 66 'version' => 'Grūtība', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Pierakstieties, lai atbildētu',
+4
resources/lang/lv-LV/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'bītmapes diskusija', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/lv-LV/forum.php
··· 80 80 'confirm_restore' => 'Vai tiešām atjaunot tēmu?', 81 81 'deleted' => 'izdzēstā tēma', 82 82 'go_to_latest' => 'skatīt beidzamo rakstu', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Jūs atbildējāt uz šo tēmu', 84 85 'in_forum' => 'iekš :forum', 85 86 'latest_post' => ':when no :user',
+2 -2
resources/lang/lv-LV/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+7 -7
resources/lang/ms-MY/accounts.php
··· 20 20 'new_confirmation' => 'pengesahan e-mel', 21 21 'title' => 'E-mel', 22 22 'locked' => [ 23 - '_' => 'Sila hubungi :accounts jika anda mahu emel anda dikemaskini.', 24 - 'accounts' => '', 23 + '_' => 'Sila hubungi akaun jika anda mahu emel anda dikemaskini.', 24 + 'accounts' => 'akaun sokongan khidmat', 25 25 ], 26 26 ], 27 27 ··· 32 32 ], 33 33 34 34 'password' => [ 35 - 'current' => 'kata laluan terkini', 35 + 'current' => 'Kata laluan semasa', 36 36 'new' => 'kata laluan baharu', 37 37 'new_confirmation' => 'pengesahan kata laluan', 38 38 'title' => 'Kata laluan', ··· 64 64 ], 65 65 66 66 'github_user' => [ 67 - 'info' => "", 67 + 'info' => "Jika anda kontributor kepada osu! repositori sumber terbuka, menghubungkan akaun Github anda disini akan mengaitkan entri log perubahan dengan osu! profil anda. Akaun Github tanpa sejarah kontribusi kepada osu! tidak boleh dihubungkan.", 68 68 'link' => 'Pautkan Akaun Github', 69 69 'title' => 'GitHub', 70 70 'unlink' => 'Nyahpautkan Akaun Github', 71 71 72 72 'error' => [ 73 73 'already_linked' => 'Akaun Github ini telah dipautkan dengan pengguna lain.', 74 - 'no_contribution' => '', 75 - 'unverified_email' => '', 74 + 'no_contribution' => 'Tidak boleh menghubungkan akaun Github tanpa sebarang sejarah kontribusi dalam repositori osu!.', 75 + 'unverified_email' => 'Sila sahkan e-mel utama anda di Github, seterusnya pautkan akaun anda sekali lagi.', 76 76 ], 77 77 ], 78 78 ··· 80 80 'beatmapset_discussion_qualified_problem' => 'terima notifikasi untuk masalah baru pada beatmap berkelayakan pada mod tersebut ', 81 81 'beatmapset_disqualify' => 'terima notifikasi apabila beatmap bagi mod tersebut telah didisqualifikasi ', 82 82 'comment_reply' => 'terima notifikasi untuk balasan pada komen anda', 83 - 'title' => 'Notifikasi', 83 + 'title' => 'Notifications', 84 84 'topic_auto_subscribe' => 'hidupkan notifikasi secara automatik pada topik forum baru yang anda cipta', 85 85 86 86 'options' => [
+38 -26
resources/lang/ms-MY/authorization.php
··· 40 40 41 41 'beatmap_discussion_post' => [ 42 42 'destroy' => [ 43 - 'not_owner' => '', 44 - 'resolved' => '', 45 - 'system_generated' => '', 43 + 'not_owner' => 'Anda hanya boleh memadamkan post sendiri.', 44 + 'resolved' => 'Anda tidak boleh memadamkan post perbincangan yang telah diselesaikan.', 45 + 'system_generated' => 'Post yang dijana secara automatik tidak boleh dipadamkan.', 46 46 ], 47 47 48 48 'edit' => [ 49 - 'not_owner' => '', 50 - 'resolved' => '', 51 - 'system_generated' => '', 49 + 'not_owner' => 'Hanya pembuat post boleh membuat pengeditan terhadap post tersebut.', 50 + 'resolved' => 'Anda tidak boleh edit post perbincangan yang telah diselesaikan.', 51 + 'system_generated' => 'Post yang dijana secara automatik tidak boleh dieditkan.', 52 52 ], 53 53 ], 54 54 ··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Tidak boleh mesej pengguna yang telah menyekat anda atau yang anda sekat.', 65 71 'friends_only' => 'Pengguna menyekat pesanan dari orang yang tiada dalam senarai kawan.', 66 72 'moderated' => 'Saluran ini sedang diawas.', 67 73 'no_access' => 'Anda tiada kebenaran untuk mengakses saluran itu.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Anda tidak mempunyai kebenaran untuk post pengumuman.', 69 75 'receive_friends_only' => 'Pengguna ini mungkin tidak boleh membalas kerana anda hanya menerima pesanan dari orang dalam senarai kawan anda.', 70 76 'restricted' => 'Anda tidak boleh menghantar pesanan ketika didiamkan, disekat atau dilarang.', 71 77 'silenced' => 'Anda tidak boleh menghantar pesanan ketika didiamkan, disekat atau dilarang.', ··· 99 105 'delete' => [ 100 106 'only_last_post' => 'Hanya hantaran terakhir boleh dipadam.', 101 107 'locked' => 'Tidak boleh padam hantaran bagi topik yang dikunci.', 102 - 'no_forum_access' => '', 108 + 'no_forum_access' => 'Akses kepada forum yang dimohon diperlukan.', 103 109 'not_owner' => 'Hanya penghantar boleh memadam hantaran ini.', 104 110 ], 105 111 106 112 'edit' => [ 107 113 'deleted' => 'Tidak boleh sunting hantaran yang dipadam.', 108 114 'locked' => 'Hantaran ini dikunci daripada disunting.', 109 - 'no_forum_access' => '', 115 + 'no_forum_access' => 'Akses kepada forum yang dimohon diperlukan.', 110 116 'not_owner' => 'Hanya penghantar boleh memadam hantaran ini.', 111 - 'topic_locked' => '', 117 + 'topic_locked' => 'Tidak boleh mengedit post topik yang dikunci.', 112 118 ], 113 119 114 120 'store' => [ 115 - 'play_more' => '', 121 + 'play_more' => 'Sila main game dulu sebelum membuat post di forum! Jika anda menghadapi apa-apa masalah ketika bermain, sila post masalah tersebut di Bantuan dan Sokongan forum.', 116 122 'too_many_help_posts' => "", // FIXME: unhardcode email address. 117 123 ], 118 124 ], 119 125 120 126 'topic' => [ 121 127 'reply' => [ 122 - 'double_post' => '', 123 - 'locked' => '', 124 - 'no_forum_access' => '', 125 - 'no_permission' => '', 128 + 'double_post' => 'Daripada membuat post baharu, sila editkan post terakhir anda.', 129 + 'locked' => 'Tidak boleh membalas jalur yang dikunci.', 130 + 'no_forum_access' => 'Akses kepada forum yang dimohon diperlukan.', 131 + 'no_permission' => 'Tiada kebenaran untuk membuat balasan.', 126 132 127 133 'user' => [ 128 - 'require_login' => '', 129 - 'restricted' => "", 130 - 'silenced' => "", 134 + 'require_login' => 'Sila daftar masuk untuk membuat balasan.', 135 + 'restricted' => "Tidak boleh membuat balasan semasa dibatasi.", 136 + 'silenced' => "Tidak boleh membuat balasana semasa disenyapkan.", 131 137 ], 132 138 ], 133 139 134 140 'store' => [ 135 - 'no_forum_access' => '', 136 - 'no_permission' => '', 141 + 'no_forum_access' => 'Akses kepada forum yang dimohon diperlukan.', 142 + 'no_permission' => 'Tiada kebenaran untuk memulakan topik baharu.', 137 143 'forum_closed' => '', 138 144 ], 139 145 140 146 'vote' => [ 141 - 'no_forum_access' => '', 147 + 'no_forum_access' => 'Akses kepada forum yang dimohon diperlukan.', 142 148 'over' => '', 143 149 'play_more' => '', 144 - 'voted' => '', 150 + 'voted' => 'Pertukaran pengundian tidak dibenarkan.', 145 151 146 152 'user' => [ 147 - 'require_login' => '', 148 - 'restricted' => "", 149 - 'silenced' => "", 153 + 'require_login' => 'Sila daftar masuk untuk mengundi.', 154 + 'restricted' => "Tidak boleh mengundi semasa dibatasi.", 155 + 'silenced' => "Tidak boleh mengundi semasa disenyapkan.", 150 156 ], 151 157 ], 152 158 153 159 'watch' => [ 154 - 'no_forum_access' => '', 160 + 'no_forum_access' => 'Akses kepada forum yang dimohon diperlukan.', 155 161 ], 156 162 ], 157 163 ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => '', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/ms-MY/beatmap_discussions.php
··· 66 66 'version' => 'Kesukaran', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Daftar masuk untuk Maklum balas',
+4
resources/lang/ms-MY/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/ms-MY/forum.php
··· 80 80 'confirm_restore' => 'Betul nak kembalikan topik?', 81 81 'deleted' => 'topik yang dipadam', 82 82 'go_to_latest' => 'kunjungi hantaran terkini', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Anda telah hantar balasan ke topik ini', 84 85 'in_forum' => 'di forum :forum', 85 86 'latest_post' => ':when oleh :user',
+60 -60
resources/lang/ms-MY/home.php
··· 5 5 6 6 return [ 7 7 'landing' => [ 8 - 'download' => '', 9 - 'online' => '', 10 - 'peak' => '', 11 - 'players' => '', 12 - 'title' => '', 13 - 'see_more_news' => '', 8 + 'download' => 'Muat turun sekarang', 9 + 'online' => '<strong>:players</strong> sedang dalam talian di <strong>:games</strong> permainan', 10 + 'peak' => 'Puncak, :count pengguna dalam talian', 11 + 'players' => '<strong>:count</strong> pemain yang telah mendaftar', 12 + 'title' => 'selamat datang', 13 + 'see_more_news' => 'lihat lebih banyak berita', 14 14 15 15 'slogan' => [ 16 - 'main' => '', 17 - 'sub' => '', 16 + 'main' => 'permainan irama percuma yang terbaik', 17 + 'sub' => 'irama hanya satu klik sahaja', 18 18 ], 19 19 ], 20 20 21 21 'search' => [ 22 - 'advanced_link' => '', 23 - 'button' => '', 24 - 'empty_result' => '', 25 - 'keyword_required' => '', 26 - 'placeholder' => '', 27 - 'title' => '', 22 + 'advanced_link' => 'Carian lanjutan', 23 + 'button' => 'Cari', 24 + 'empty_result' => 'Tiada apa-apa dijumpai!', 25 + 'keyword_required' => 'Kata kunci pencarian diperlukan', 26 + 'placeholder' => 'taip untuk mencari', 27 + 'title' => 'cari', 28 28 29 29 'beatmapset' => [ 30 - 'login_required' => '', 31 - 'more' => '', 32 - 'more_simple' => '', 33 - 'title' => '', 30 + 'login_required' => 'Log masuk untuk mencari beatmap', 31 + 'more' => ':count lagi hasil carian beatmap', 32 + 'more_simple' => 'Lihat lebih banyak hasil carian beatmap', 33 + 'title' => 'Beatmap', 34 34 ], 35 35 36 36 'forum_post' => [ 37 - 'all' => '', 38 - 'link' => '', 39 - 'login_required' => '', 40 - 'more_simple' => '', 41 - 'title' => '', 37 + 'all' => 'Semua forum', 38 + 'link' => 'Cari di forum', 39 + 'login_required' => 'Log masuk untuk cari di forum', 40 + 'more_simple' => 'Lihat lebih banyak hasil carian forum', 41 + 'title' => 'Forum', 42 42 43 43 'label' => [ 44 - 'forum' => '', 45 - 'forum_children' => '', 46 - 'include_deleted' => '', 47 - 'topic_id' => '', 48 - 'username' => '', 44 + 'forum' => 'cari dalam forum', 45 + 'forum_children' => 'sertakan subforum', 46 + 'include_deleted' => 'sertakan hantaran yang telah dipadamkan', 47 + 'topic_id' => 'topik #', 48 + 'username' => 'pengarang', 49 49 ], 50 50 ], 51 51 52 52 'mode' => [ 53 - 'all' => '', 54 - 'beatmapset' => '', 55 - 'forum_post' => '', 56 - 'user' => '', 57 - 'wiki_page' => '', 53 + 'all' => 'semua', 54 + 'beatmapset' => 'beatmap', 55 + 'forum_post' => 'forum', 56 + 'user' => 'pemain', 57 + 'wiki_page' => 'wiki', 58 58 ], 59 59 60 60 'user' => [ 61 - 'login_required' => '', 62 - 'more' => '', 63 - 'more_simple' => '', 64 - 'more_hidden' => '', 65 - 'title' => '', 61 + 'login_required' => 'Log masuk untuk cari pengguna', 62 + 'more' => ':count lagi hasil carian pemain', 63 + 'more_simple' => 'Lihat lebih banyak hasil carian pemain', 64 + 'more_hidden' => 'Carian pemain dihadkan kepada :max pemain. Cuba memperhalusikan kata kunci carian.', 65 + 'title' => 'Pemain-pemain', 66 66 ], 67 67 68 68 'wiki_page' => [ 69 - 'link' => '', 70 - 'more_simple' => '', 71 - 'title' => '', 69 + 'link' => 'Cari di wiki', 70 + 'more_simple' => 'Lihat lebih banyak hasil carian wiki', 71 + 'title' => 'Wiki', 72 72 ], 73 73 ], 74 74 75 75 'download' => [ 76 - 'action' => '', 76 + 'action' => 'Muat turun osu!', 77 77 'action_lazer' => '', 78 78 'action_lazer_description' => '', 79 - 'action_lazer_info' => '', 79 + 'action_lazer_info' => 'semak halaman ini untuk maklumat lanjut ', 80 80 'action_lazer_title' => '', 81 - 'action_title' => '', 82 - 'for_os' => '', 83 - 'macos-fallback' => '', 84 - 'mirror' => '', 85 - 'or' => '', 81 + 'action_title' => 'muat turun osu!', 82 + 'for_os' => 'untuk :os', 83 + 'macos-fallback' => 'pengguna macOS', 84 + 'mirror' => 'cermin', 85 + 'or' => 'atau', 86 86 'os_version_or_later' => '', 87 87 'other_os' => '', 88 88 'quick_start_guide' => '', 89 89 'tagline' => "", 90 - 'video-guide' => '', 90 + 'video-guide' => 'panduan video', 91 91 92 92 'help' => [ 93 93 '_' => '', 94 94 'help_forum_link' => '', 95 - 'support_button' => '', 95 + 'support_button' => 'hubungi sokongan khidmat', 96 96 ], 97 97 98 98 'os' => [ 99 - 'windows' => '', 100 - 'macos' => '', 101 - 'linux' => '', 99 + 'windows' => 'untuk Windows', 100 + 'macos' => 'untuk macOS', 101 + 'linux' => 'untuk Linux', 102 102 ], 103 103 'steps' => [ 104 104 'register' => [ ··· 106 106 'description' => '', 107 107 ], 108 108 'download' => [ 109 - 'title' => '', 109 + 'title' => 'pasangkan permainan', 110 110 'description' => '', 111 111 ], 112 112 'beatmaps' => [ ··· 122 122 'user' => [ 123 123 'title' => '', 124 124 'news' => [ 125 - 'title' => '', 125 + 'title' => 'Berita', 126 126 'error' => '', 127 127 ], 128 128 'header' => [ 129 129 'stats' => [ 130 - 'friends' => '', 131 - 'games' => '', 132 - 'online' => '', 130 + 'friends' => 'Kawan Dalam Talian', 131 + 'games' => 'Permainan', 132 + 'online' => 'Pengguna Dalam Talian', 133 133 ], 134 134 ], 135 135 'beatmaps' => [ ··· 138 138 'by_user' => '', 139 139 ], 140 140 'buttons' => [ 141 - 'download' => '', 142 - 'support' => '', 141 + 'download' => 'Muat turun osu!', 142 + 'support' => 'Sokong osu!', 143 143 'store' => '', 144 144 ], 145 145 ],
+2 -2
resources/lang/ms-MY/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+14 -14
resources/lang/ms-MY/report.php
··· 5 5 6 6 return [ 7 7 'beatmapset' => [ 8 - 'button' => 'Laporkan', 9 - 'title' => '', 8 + 'button' => 'Lapor', 9 + 'title' => 'Laporkan beatmap :username?', 10 10 ], 11 11 12 12 'beatmapset_discussion_post' => [ 13 - 'button' => '', 14 - 'title' => '', 13 + 'button' => 'Lapor', 14 + 'title' => 'Laporkan hantaran :username?', 15 15 ], 16 16 17 17 'comment' => [ 18 - 'button' => '', 19 - 'title' => '', 18 + 'button' => 'Lapor', 19 + 'title' => 'Laporkan komen :username?', 20 20 ], 21 21 22 22 'forum_post' => [ 23 - 'button' => '', 24 - 'title' => '', 23 + 'button' => 'Lapor', 24 + 'title' => 'Laporkan hantaran :username?', 25 25 ], 26 26 27 27 'message' => [ 28 - 'button' => '', 29 - 'title' => '', 28 + 'button' => 'Laporkan Mesej', 29 + 'title' => 'Laporkan mesej :username?', 30 30 ], 31 31 32 32 'scores' => [ 33 - 'button' => '', 34 - 'title' => '', 33 + 'button' => 'Laporkan Markah', 34 + 'title' => 'Laporkan markah :username?', 35 35 ], 36 36 37 37 'user' => [ 38 - 'button' => '', 39 - 'title' => '', 38 + 'button' => 'Lapor', 39 + 'title' => 'Laporkan :username?', 40 40 ], 41 41 ];
+12
resources/lang/nl/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Kan geen bericht versturen naar een gebruiker die jou blokkeert of die jij geblokkeerd hebt.', 65 71 'friends_only' => 'Gebruiker blokkeert berichten van mensen die niet op de vriendenlijst staan.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Alleen admins kunnen dit forum zien.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/nl/beatmap_discussions.php
··· 66 66 'version' => 'Moeilijkheidsgraad', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Log in om te Antwoorden',
+4
resources/lang/nl/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'beatmap discussie', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/nl/forum.php
··· 80 80 'confirm_restore' => 'Topic echt herstellen?', 81 81 'deleted' => 'topic verwijderd', 82 82 'go_to_latest' => 'bekijk nieuwste post', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Je hebt gereageerd op dit onderwerp', 84 85 'in_forum' => 'in :forum ', 85 86 'latest_post' => ':when door :user',
+2 -2
resources/lang/nl/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/no/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Kan ikke sende en melding til en bruker som blokkerer deg eller som du har blokkert.', 65 71 'friends_only' => 'Brukeren blokkerer meldinger fra personer som ikke er på deres venneliste.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Bare administrator kan se dette forumet.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/no/beatmap_discussions.php
··· 66 66 'version' => 'Vanskelighetsgrad', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Logg inn for å svare',
+4
resources/lang/no/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'beatmapsdiskusjon', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/no/forum.php
··· 80 80 'confirm_restore' => 'Vil du virkelig gjenopprette emnet?', 81 81 'deleted' => 'slettet emne', 82 82 'go_to_latest' => 'vis nyeste innlegg', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Du har svart på dette emnet', 84 85 'in_forum' => 'i :forum', 85 86 'latest_post' => ':when av :user',
+2 -2
resources/lang/no/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/pl/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Nie możesz wysłać wiadomości do użytkownika, którego blokujesz lub który cię blokuje.', 65 71 'friends_only' => 'Ten użytkownik blokuje wiadomości od osób spoza listy znajomych.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Tylko administrator ma dostęp do tego forum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/pl/beatmap_discussions.php
··· 66 66 'version' => 'Poziom trudności', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Zaloguj się, aby odpowiedzieć',
+4
resources/lang/pl/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'dyskusje', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/pl/forum.php
··· 80 80 'confirm_restore' => 'Czy na pewno chcesz przywrócić wątek?', 81 81 'deleted' => 'usunięty wątek', 82 82 'go_to_latest' => 'pokaż najnowszy post', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Twoja odpowiedź znajduje się w tym wątku', 84 85 'in_forum' => 'forum: :forum', 85 86 'latest_post' => ':when przez :user',
+2 -2
resources/lang/pl/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Poziom trudności', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/pt-br/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Não é possível enviar uma mensagem para um usuário que foi bloqueado ou te bloqueou.', 65 71 'friends_only' => 'O usuário está bloqueando mensagens de pessoas fora de sua lista de amigos.', 66 72 'moderated' => 'O canal atual está sendo moderado.', 67 73 'no_access' => 'Você não tem acesso a esse canal.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Você não tem permissão para publicar anunciados.', 69 75 'receive_friends_only' => 'O usuário pode não ser capaz de te responder, porque você só está aceitando mensagens de pessoas em sua lista de amigos.', 70 76 'restricted' => 'Você não pode enviar mensagens enquanto silenciado, restrito ou banido.', 71 77 'silenced' => 'Você não pode enviar mensagens enquanto silenciado, restrito ou banido.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Apenas administradores podem visualizar este fórum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/pt-br/beatmap_discussions.php
··· 66 66 'version' => 'Dificuldade', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Conecte-se para Responder',
+4
resources/lang/pt-br/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'discussão do beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/pt-br/forum.php
··· 80 80 'confirm_restore' => 'Realmente restaurar tópico?', 81 81 'deleted' => 'tópico excluído', 82 82 'go_to_latest' => 'ver a ultima publicação', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Você respondeu a este tópico', 84 85 'in_forum' => 'em :forum', 85 86 'latest_post' => ':when por :user',
+2 -2
resources/lang/pt-br/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Dificuldade', 14 - 'percentile_10' => '10° percentual de pontuação', 15 - 'percentile_50' => '50° percentual de pontuação', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/pt/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Não é possível enviar uma mensagem a um utilizador que te esteja a bloquear ou que o tenhas bloqueado.', 65 71 'friends_only' => 'O utilizador está a bloquear mensagens de pessoas que não façam parte da sua lista de amigos.', 66 72 'moderated' => 'Este canal está atualmente moderado.', 67 73 'no_access' => 'Tu não tens acesso a esse canal.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Não tens permissão para publicar um anúncio.', 69 75 'receive_friends_only' => 'O utilizador pode não conseguir responder porque só estás a aceitar mensagens de pessoas da tua lista de amigos.', 70 76 'restricted' => 'Não podes enviar mensagens enquanto estiveres silenciado, restrito ou banido.', 71 77 'silenced' => 'Não podes enviar mensagens enquanto estiveres silenciado, restringido ou banido.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Só o administrador é que pode ver este fórum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/pt/beatmap_discussions.php
··· 66 66 'version' => 'Dificuldade', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Inicia sessão para responder',
+4
resources/lang/pt/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'discussão do beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/pt/forum.php
··· 80 80 'confirm_restore' => 'Queres mesmo restaurar o tópico?', 81 81 'deleted' => 'tópico eliminado', 82 82 'go_to_latest' => 'ver ultima publicação', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Respondeste a este tópico', 84 85 'in_forum' => 'em :forum', 85 86 'latest_post' => ':when por :user',
+2 -2
resources/lang/pt/rankings.php
··· 12 12 13 13 'daily_challenge' => [ 14 14 'beatmap' => 'Dificuldade', 15 - 'percentile_10' => '10° percentual de pontuação', 16 - 'percentile_50' => '50° percentual de pontuação', 15 + 'top_10p' => '', 16 + 'top_50p' => '', 17 17 ], 18 18 19 19 'filter' => [
+13 -1
resources/lang/ro/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Nu poți trimite mesaje unui utilizator care te-a blocat sau pe care l-ai blocat.', 65 71 'friends_only' => 'Utilizatorul blochează mesajele de la oameni care nu sunt pe lista lor de prieteni.', 66 72 'moderated' => 'Acest canal este moderat în prezent.', 67 73 'no_access' => 'Nu ai acces la acest canal.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Nu aveți permisiunea de a posta anunțuri.', 69 75 'receive_friends_only' => 'Este posibil ca utilizatorul să nu poată răspunde, deoarece acceptați doar mesaje de la persoane adăugate la prieteni.', 70 76 'restricted' => 'Nu poți trimite mesaje cât timp ești mut, restricționat sau interzis.', 71 77 'silenced' => 'Nu poți trimite mesaje cât timp ești mut, restricționat sau interzis.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Numai administratorul poate vizualiza acest forum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/ro/beatmap_discussions.php
··· 66 66 'version' => 'Dificultate', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Autentifică-te pentru a răspunde',
+4
resources/lang/ro/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'discuție beatmap', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/ro/forum.php
··· 80 80 'confirm_restore' => 'Sigur dorești să restaurezi subiectul?', 81 81 'deleted' => 'subiect șters', 82 82 'go_to_latest' => 'vezi cea mai recentă postare', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Ai răspuns în acest subiect', 84 85 'in_forum' => 'in :forum', 85 86 'latest_post' => ':when de :user',
+2 -2
resources/lang/ro/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Dificultate', 14 - 'percentile_10' => 'Scor din top 10%', 15 - 'percentile_50' => 'Scor din top 50%', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/ru/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Вы не можете отправить сообщение пользователю, который заблокировал вас или которого заблокировали вы.', 65 71 'friends_only' => 'Этот пользователь блокирует сообщения от всех, кроме друзей.', 66 72 'moderated' => 'Этот канал доступен только модераторам.', 67 73 'no_access' => 'У вас нет доступа к этому каналу.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'У вас недостаточно прав на публикацию объявлений.', 69 75 'receive_friends_only' => 'Пользователь может не ответить, потому что вы принимаете сообщения только от людей из вашего списка друзей.', 70 76 'restricted' => 'Нельзя отправлять сообщения, пока вы заглушены, вас ограничили или забанили.', 71 77 'silenced' => 'Нельзя отправлять сообщения, пока вы заглушены, вас ограничили или забанили.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Только администратор может просматривать этот форум.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/ru/beatmap_discussions.php
··· 66 66 'version' => 'Сложность', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Войдите в аккаунт, чтобы ответить',
+2 -2
resources/lang/ru/beatmaps.php
··· 350 350 ], 351 351 'rank' => [ 352 352 'any' => 'Все', 353 - 'XH' => 'SS+', 353 + 'XH' => 'Серебряный SS', 354 354 'X' => '', 355 - 'SH' => 'S+', 355 + 'SH' => 'Серебряный S', 356 356 'S' => '', 357 357 'A' => '', 358 358 'B' => '',
+4
resources/lang/ru/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'обсуждения карт', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/ru/forum.php
··· 80 80 'confirm_restore' => 'Действительно восстановить тему?', 81 81 'deleted' => 'удалённая тема', 82 82 'go_to_latest' => 'перейти к последнему ответу', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Вы отвечали на эту тему', 84 85 'in_forum' => 'в :forum', 85 86 'latest_post' => ':when от :user',
+2 -2
resources/lang/ru/notifications.php
··· 39 39 40 40 'beatmap_owner_change' => [ 41 41 '_' => 'Гостевая сложность', 42 - 'beatmap_owner_change' => 'Вы назначены владельцем сложности ":beatmap" в карте ":title"', 43 - 'beatmap_owner_change_compact' => 'Вы назначены владельцем сложности ":beatmap" ', 42 + 'beatmap_owner_change' => 'Вас назначили владельцем сложности ":beatmap" на карте ":title"', 43 + 'beatmap_owner_change_compact' => 'Вас назначили владельцем сложности ":beatmap"', 44 44 ], 45 45 46 46 'beatmapset_discussion' => [
+2 -2
resources/lang/ru/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Сложность', 14 - 'percentile_10' => '90-й процентиль очков', 15 - 'percentile_50' => '50-й процентиль очков', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+1 -1
resources/lang/ru/store.php
··· 123 123 ], 124 124 125 125 'item' => [ 126 - 'quantity' => 'Количество', 126 + 'quantity' => 'количество', 127 127 128 128 'display_name' => [ 129 129 'supporter_tag' => ':name для :username (:duration)',
+12
resources/lang/si-LK/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => '', 65 71 'friends_only' => '', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => '', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/si-LK/beatmap_discussions.php
··· 66 66 'version' => '', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => '',
+4
resources/lang/si-LK/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/si-LK/forum.php
··· 80 80 'confirm_restore' => '', 81 81 'deleted' => '', 82 82 'go_to_latest' => '', 83 + 'go_to_unread' => '', 83 84 'has_replied' => '', 84 85 'in_forum' => '', 85 86 'latest_post' => '',
+2 -2
resources/lang/si-LK/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/sk/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Nie je možné poslať správu používateľovi, ktorý blokuje teba, alebo ty blokuješ jeho.', 65 71 'friends_only' => 'Používateľ blokuje správy od ľudí, ktorí nie sú na ich ich liste priateľstva.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Iba administrátor môže vidieť toto fórum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/sk/beatmap_discussions.php
··· 66 66 'version' => 'Obtiažnosť ', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Prosím, prihláste sa, aby ste mohli odpovedať',
+4
resources/lang/sk/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/sk/forum.php
··· 80 80 'confirm_restore' => '', 81 81 'deleted' => 'odstranená téma', 82 82 'go_to_latest' => 'zobraziť najnovší príspevok', 83 + 'go_to_unread' => '', 83 84 'has_replied' => '', 84 85 'in_forum' => 'v :forum', 85 86 'latest_post' => ':when použivateľom :user',
+2 -2
resources/lang/sk/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/sl/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Ni možno klepetati z igralcem, ki te je blokiral ali si ga ti blokiral.', 65 71 'friends_only' => 'Igralec ima blokirana sporočila od drugih, ki niso na njegovem seznamu prijateljev.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Samo administrator si lahko ogleda ta forum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/sl/beatmap_discussions.php
··· 66 66 'version' => 'Težavnost', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Prijavite se, da odgovorite',
+4
resources/lang/sl/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'beatmap razprava', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/sl/forum.php
··· 80 80 'confirm_restore' => 'Res želiš povrniti temo?', 81 81 'deleted' => 'odstranjena tema', 82 82 'go_to_latest' => 'ogled zadnje objave', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Odgovoril si na to temo', 84 85 'in_forum' => 'v :forum', 85 86 'latest_post' => ':when od :user',
+2 -2
resources/lang/sl/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+1 -1
resources/lang/sl/users.php
··· 396 396 'title' => 'Uvrstitve', 397 397 398 398 'best' => [ 399 - 'title' => 'Najboljša izvedba', 399 + 'title' => 'Najboljši rezultati', 400 400 ], 401 401 'first' => [ 402 402 'title' => 'Uvrstitve na prvo mesto',
+1 -1
resources/lang/sr/api.php
··· 19 19 'chat' => [ 20 20 'read' => 'Читајте поруке на своје име.', 21 21 'write' => 'Шаљите поруке у ваше име.', 22 - 'write_manage' => '', 22 + 'write_manage' => 'Улази и излази из канала у ваше име.', 23 23 ], 24 24 25 25 'forum' => [
+12
resources/lang/sr/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Не можете да пошаљете поруку кориснику који вас је блокирао или кога сте ви блокирали.', 65 71 'friends_only' => 'Корисник блокира поруке од људи који нису на њиховој листи пријатеља.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Само администратор може видети овај форум.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/sr/beatmap_discussions.php
··· 66 66 'version' => 'Тежина', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Пријавите се да би сте одговорили',
+2 -2
resources/lang/sr/common.php
··· 69 69 'count' => [ 70 70 'badges' => ':count_delimited беџ|:count_delimited беџева', 71 71 'days' => ':count_delimited дан|:count_delimited дана', 72 - 'hour_short_unit' => 'сат|сати', 72 + 'hour_short_unit' => 'сата|сати', 73 73 'hours' => ':count_delimited сат|:count_delimited сати', 74 74 'item' => ':count_delimited ствар|:count_delimited ствари', 75 75 'minute_short_unit' => 'минут|минута', ··· 82 82 'star_priority' => ':count_delimited приоритет звезде|:count_delimited приоритети звезде', 83 83 'update' => ':count_delimited ажурирања|:count_delimited ажурирања', 84 84 'view' => ':count_delimited преглед|:count_delimited прегледа', 85 - 'years' => ':count_delimited година|:count_delimited година', 85 + 'years' => ':count_delimited година|:count_delimited године', 86 86 ], 87 87 88 88 'countdown' => [
+2 -2
resources/lang/sr/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'comments' => '', 18 - 'hide_judged' => '', 17 + 'comments' => 'коментари', 18 + 'hide_judged' => 'сакриј оцењене пријаве', 19 19 'nav_title' => 'судија', 20 20 'no_current_vote' => 'ниси још гласао.', 21 21 'update' => 'ажурирај',
+1 -1
resources/lang/sr/events.php
··· 12 12 'beatmapset_update' => '<strong><em>:user</em></strong> је ажурирао/ла мапу "<em>:beatmapset</em>"', 13 13 'beatmapset_upload' => '<strong><em>:user</em></strong> је направио/ла нову мапу ":beatmapset"', 14 14 'empty' => "Овај корисник није урадио/ла ништа значајно скоро!", 15 - 'rank' => '<strong><em>:user</em></strong> је достигао/ла #:rank место на <em>:beatmap</em> (:mode)', 15 + 'rank' => ':user је достигао/ла :rank на :beatmap (:mode)', 16 16 'rank_lost' => '<strong><em>:user</em></strong> је изгубио/ла прво место на <em>:beatmap</em> (:mode)', 17 17 'user_support_again' => '<strong>:user</strong> је поново одлучио/ла да подржи osu! - хвала вам на вашој великодушности!', 18 18 'user_support_first' => '<strong>:user</strong> је подржао/ла osu! - хвала вам на вашој великодушности!',
+4
resources/lang/sr/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'дискусија за мапу', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/sr/forum.php
··· 80 80 'confirm_restore' => 'Стварно вратити тему?', 81 81 'deleted' => 'обрисана тема', 82 82 'go_to_latest' => 'погледај најновији пост', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Одговорили сте на ову тему', 84 85 'in_forum' => 'у :forum', 85 86 'latest_post' => ':when од :user',
+1 -1
resources/lang/sr/home.php
··· 129 129 'stats' => [ 130 130 'friends' => 'Онлајн Пријатељи', 131 131 'games' => 'Игре', 132 - 'online' => 'Онлајн Корисници', 132 + 'online' => 'Онлајн Корисника', 133 133 ], 134 134 ], 135 135 'beatmaps' => [
+2 -2
resources/lang/sr/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+2 -2
resources/lang/sr/users.php
··· 7 7 'deleted' => '[обрисан корисник]', 8 8 9 9 'beatmapset_activities' => [ 10 - 'title' => ":user's Историја Измена", 10 + 'title' => "Историјске Измене од :user", 11 11 'title_compact' => 'Измене', 12 12 13 13 'discussions' => [ ··· 370 370 'title' => 'о мени!', 371 371 ], 372 372 'medals' => [ 373 - 'empty' => "Овај корисник није добио ниједно још увек. ;_;", 373 + 'empty' => "Овај корисник још увек нема медаље. ;_;", 374 374 'recent' => 'Најновије', 375 375 'title' => 'Медаље', 376 376 ],
+12
resources/lang/sv/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Kan inte skicka meddelanden till en användare som blockerar dig eller som du har blockerat.', 65 71 'friends_only' => 'Användaren blockerar meddelanden från personer som inte finns på sin vänlista.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Endast administratörer kan se detta forum.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/sv/beatmap_discussions.php
··· 66 66 'version' => 'Svårighetsgrad', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Logga in för att svara',
+4
resources/lang/sv/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'beatmapdiskussion', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/sv/forum.php
··· 80 80 'confirm_restore' => 'Vill du verkligen återställa ämnet?', 81 81 'deleted' => 'raderat ämne', 82 82 'go_to_latest' => 'visa senaste inlägg', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Du har svarat på detta ämne', 84 85 'in_forum' => 'i :forum', 85 86 'latest_post' => ':when av :user',
+2 -2
resources/lang/sv/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+12
resources/lang/tg-TJ/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => '', 65 71 'friends_only' => '', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => '', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/tg-TJ/beatmap_discussions.php
··· 66 66 'version' => '', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => '',
+4
resources/lang/tg-TJ/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/tg-TJ/forum.php
··· 80 80 'confirm_restore' => '', 81 81 'deleted' => '', 82 82 'go_to_latest' => '', 83 + 'go_to_unread' => '', 83 84 'has_replied' => '', 84 85 'in_forum' => '', 85 86 'latest_post' => '',
+2 -2
resources/lang/tg-TJ/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/th/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'ไม่สามารถส่งข้อความถึงผู้ใช้ที่บล็อกคุณหรือที่คุณบล็อกได้', 65 71 'friends_only' => 'ผู้ใช้นี้บล็อกข้อความจากคนที่ไม่ใช่เพื่อนของเขา', 66 72 'moderated' => 'แชแนลนี้อยู่ระหว่างการขัดกรอง', 67 73 'no_access' => 'คุณไม่มีสิทธิ์เข้าถึงช่องนี้', 68 - 'no_announce' => '', 74 + 'no_announce' => 'คุณไม่ได้รับอนุญาตที่จะโพสต์ประกาศ', 69 75 'receive_friends_only' => 'ผู้ใช้นี้อาจไม่สามารถตอบกลับได้ เนื่องจากคุณกำลังยอมรับแค่ข้อความจากบุคคลที่อยู่บนรายชื่อเพื่อนของคุณ', 70 76 'restricted' => 'คุณไม่สามารถส่งข้อความได้ในสถานะเงียบ ถูกจำกัดการใช้งานหรือถูกแบน', 71 77 'silenced' => 'คุณไม่สามารถส่งข้อความได้ในสถานะเงียบ ถูกจำกัดการใช้งาน หรือถูกแบน', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'มีแค่ผู้ดูแลระบบเท่านั้นที่สามารถดูฟอรั่มนี้', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/th/beatmap_discussions.php
··· 66 66 'version' => 'ระดับความยาก', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'เข้าสู่ระบบเพื่อตอบกลับ',
+4
resources/lang/th/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'การสนทนาบีทแมพ', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/th/forum.php
··· 80 80 'confirm_restore' => 'ต้องการกู้คืนโพสต์จริงหรอ?', 81 81 'deleted' => 'ลบกระทู้', 82 82 'go_to_latest' => 'ดูโพสต์ล่าสุด', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'คุณได้ตอบกลับการสนทนานี้', 84 85 'in_forum' => 'ใน :forum', 85 86 'latest_post' => ':when โดย :user',
+2 -2
resources/lang/th/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'ระดับความยาก', 14 - 'percentile_10' => 'คะแนนเปอร์เซ็นไทล์ที่ 10', 15 - 'percentile_50' => 'คะแนนเปอร์เซ็นไทล์ที่ 50', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/tr/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Sizi engelleyen ya da sizin engellediğiniz bir kullanıcıya mesaj gönderemezsiniz.', 65 71 'friends_only' => 'Kullanıcı arkadaş listesinde bulunmayan kişilerden gelen mesajları engelliyor.', 66 72 'moderated' => 'O kanal şu anda modere ediliyor.', 67 73 'no_access' => 'Bu kanala erişiminiz yok.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Duyuru paylaşmaya yetkiniz yok.', 69 75 'receive_friends_only' => 'Yalnızca arkadaş listenizdeki kişilerden gelen mesajları kabul ettiğiniz için kullanıcı yanıt veremeyebilir.', 70 76 'restricted' => 'Susturulmuş, kısıtlanmış ya da banlanmış iken mesaj gönderemezsiniz.', 71 77 'silenced' => 'Susturulmuşken, kısıtlıyken veya banlıyken mesaj gönderemezsiniz.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Yalnızca yönetici bu forumu görüntüleyebilir.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/tr/beatmap_discussions.php
··· 66 66 'version' => 'Zorluk', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Yanıtlamak için Giriş yapın',
+4
resources/lang/tr/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'beatmap tartışması', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/tr/forum.php
··· 80 80 'confirm_restore' => 'Konu gerçekten geri yüklensin mi?', 81 81 'deleted' => 'silinmiş konu', 82 82 'go_to_latest' => 'son gönderiyi görüntüle', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Bu konuyu yanıtladınız', 84 85 'in_forum' => ':forum forumunda', 85 86 'latest_post' => ':user tarafından :when',
+2 -2
resources/lang/tr/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Zorluk', 14 - 'percentile_10' => '10. Yüzdelik Dilim Skoru', 15 - 'percentile_50' => '50. Yüzdelik Dilim Skoru', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+13 -1
resources/lang/uk/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Неможливо надіслати повідомлення користувачу, який заблокував вас, або якого, заблокували ви.', 65 71 'friends_only' => 'Користувач заблокував повідомлення від користувачів не зі списку друзів.', 66 72 'moderated' => 'Наразі канал модерується.', 67 73 'no_access' => 'У вас немає доступу до цього каналу.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'У вас немає прав на відправлення повідомлень-оголошень.', 69 75 'receive_friends_only' => 'Цей користувач не зможе відповісти, оскільки ви приймаєте повідомлення лише від людей з вашого списку друзів.', 70 76 'restricted' => 'Ви не можете надсилати повідомлення коли вас заглушено, обмежено або заблоковано.', 71 77 'silenced' => 'Ви не можете надсилати повідомлення коли вас заглушено, обмежено або заблоковано.', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Тільки адміністратор може переглядати цей форум.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/uk/beatmap_discussions.php
··· 66 66 'version' => 'Складність', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => 'Увійдіть, щоб відповісти',
+12 -12
resources/lang/uk/beatmaps.php
··· 32 32 'restore' => 'відновити', 33 33 'show_deleted' => 'Показати видалені', 34 34 'title' => 'Обговорення', 35 - 'unresolved_count' => ':count_delimited невирішена проблема|:count_delimited невирішених проблем', 35 + 'unresolved_count' => ':count_delimited невирішена проблема|:count_delimited невирішеної проблеми|:count_delimited невирішених проблем', 36 36 37 37 'collapse' => [ 38 38 'all-collapse' => 'Приховати все', ··· 70 70 71 71 'message_type' => [ 72 72 'disqualify' => 'Дискваліфікувати', 73 - 'hype' => 'Хайпнути!', 73 + 'hype' => 'Хайп!', 74 74 'mapper_note' => 'Замітка', 75 75 'nomination_reset' => 'Зняти номінацію', 76 - 'praise' => 'Подяка', 76 + 'praise' => 'Похвала', 77 77 'problem' => 'Проблема', 78 78 'problem_warning' => 'Повідомити про проблему', 79 79 'review' => 'Відгук', ··· 81 81 ], 82 82 83 83 'message_type_title' => [ 84 - 'disqualify' => 'Дискваліфікаційне повідомлення', 85 - 'hype' => 'Хайпанути!', 86 - 'mapper_note' => 'Повідомлення-нотатка', 84 + 'disqualify' => 'Розмістити дискваліфікацію', 85 + 'hype' => 'Хайпнути!', 86 + 'mapper_note' => 'Розмістити замітку', 87 87 'nomination_reset' => 'Видалити всі Номінації', 88 - 'praise' => 'Повідомлення-подяка', 89 - 'problem' => 'Повідомлення-проблема', 90 - 'problem_warning' => 'Повідомлення-проблема', 91 - 'review' => 'Повідомлення-відгук', 92 - 'suggestion' => 'Повідомлення-пропозиція', 88 + 'praise' => 'Розмістити похвалу', 89 + 'problem' => 'Розмістити проблему', 90 + 'problem_warning' => 'Розмістити проблему', 91 + 'review' => 'Розмістити відгук', 92 + 'suggestion' => 'Розмістити пропозицію', 93 93 ], 94 94 95 95 'mode' => [ ··· 276 276 'featured_artists' => 'Обрані виконавці', 277 277 'follows' => 'Маппери на яких ви підписані', 278 278 'recommended' => 'Рекомендована складність', 279 - 'spotlights' => 'Популярні мапи', 279 + 'spotlights' => 'Відібрані мапи', 280 280 ], 281 281 'mode' => [ 282 282 'all' => 'Всі',
+2 -2
resources/lang/uk/beatmapsets.php
··· 113 113 ], 114 114 115 115 'hype' => [ 116 - 'action' => 'Хайпніть цю мапу, якщо вам сподобалося в неї грати, щоб допомогти їй отримати статус <strong>Рангової</strong>.', 116 + 'action' => 'Хайпніть цю мапу, якщо вам сподобалося в неї грати, щоб допомогти їй отримати статус <strong>Рейтингової</strong>.', 117 117 118 118 'current' => [ 119 119 '_' => 'Ця мапа зараз :status.', ··· 192 192 'friend' => 'Ніхто з ваших друзів ще не грав на цій мапі!', 193 193 'global' => 'Ніхто ще не грав на цій мапі! Може ти спробуєш?', 194 194 'loading' => 'Результати завантажуються...', 195 - 'unranked' => 'Нерангова мапа.', 195 + 'unranked' => 'Нерейтингова мапа.', 196 196 ], 197 197 'score' => [ 198 198 'first' => 'Лідирує',
+1 -1
resources/lang/uk/changelog.php
··· 11 11 ], 12 12 13 13 'builds' => [ 14 - 'users_online' => ':count_delimited гравець онлайн|:count_delimited гравці|:count_delimited гравців онлайн', 14 + 'users_online' => ':count_delimited гравець онлайн|:count_delimited гравці онлайн|:count_delimited гравців онлайн', 15 15 ], 16 16 17 17 'entry' => [
+2 -2
resources/lang/uk/comments.php
··· 7 7 'deleted' => 'видалено', 8 8 'deleted_by' => 'видалено :user :timeago', 9 9 'deleted_by_system' => 'система', 10 - 'deleted_count' => ':count_delimited коментар видалено|:count_delimited коментарів видалено', 10 + 'deleted_count' => ':count_delimited коментар видалено|:count_delimited коментаря видалено|:count_delimited коментарів видалено', 11 11 'edited' => ':user відредагував :timeago', 12 12 'pinned' => 'закріплено', 13 13 'empty' => 'Ще немає коментарів.', 14 14 'empty_other' => 'Поки немає жодних коментарів.', 15 15 'load_replies' => 'завантажити відповіді', 16 - 'replies_count' => ':count_delimited відповідь|:count_delimited відповідей', 16 + 'replies_count' => ':count_delimited відповідь|:count_delimited відповіді|:count_delimited відповідей', 17 17 'title' => 'Коментарі', 18 18 19 19 'commentable_name' => [
+1 -1
resources/lang/uk/common.php
··· 79 79 'plus_others' => '+ :count_delimited інший!|+ :count_delimited інших!', 80 80 'post' => ':count_delimited пост|:count_delimited пости|:count_delimited постів', 81 81 'second_short_unit' => 'сек', 82 - 'star_priority' => ':count_delimited пріоритет|:count_delimited пріоритета|:count_delimited пріоритетів', 82 + 'star_priority' => ':count_delimited пріоритет|:count_delimited пріоритети|:count_delimited пріоритетів', 83 83 'update' => ':count_delimited оновлення|:count_delimited оновлення|:count_delimited оновлень', 84 84 'view' => ':count_delimited перегляд|:count_delimited перегляди|:count_delimited переглядів', 85 85 'years' => ':count_delimited рік|:count_delimited роки|:count_delimited років',
+1 -1
resources/lang/uk/community.php
··· 71 71 72 72 'upload_more' => [ 73 73 'title' => 'Завантажуй більше', 74 - 'description' => 'Додаткові слоти для мап в очікуванні (на кожну ранговану мапу) максимум до 10.', 74 + 'description' => 'Додаткові слоти для мап на розгляді (на кожну рейтингову мапу) максимум до 10.', 75 75 ], 76 76 77 77 'early_access' => [
+2 -2
resources/lang/uk/contest.php
··· 85 85 86 86 'vote' => [ 87 87 'list' => 'голосів', 88 - 'count' => ':count_delimited голос|:count_delimited голосів', 89 - 'points' => ':count_delimited очок|:count_delimited очків', 88 + 'count' => ':count_delimited голос|:count_delimited голоси|:count_delimited голосів', 89 + 'points' => ':count_delimited очко|:count_delimited очка|:count_delimited очків', 90 90 ], 91 91 92 92 'dates' => [
+5 -5
resources/lang/uk/events.php
··· 6 6 return [ 7 7 'achievement' => '<strong><em>:user</em></strong> отримав досягнення "<strong>:achievement</strong>"!', 8 8 'beatmap_playcount' => ':beatmap зіграно :count разів!', 9 - 'beatmapset_approve' => ':beatmapset від <strong>:user</strong> був :approval!', 9 + 'beatmapset_approve' => ':beatmapset від <strong>:user</strong> стала :approval!', 10 10 'beatmapset_delete' => ':beatmapset було видалено.', 11 11 'beatmapset_revive' => ':beatmapset відродилася з вічного сну <strong>:user</strong>.', 12 12 'beatmapset_update' => '<strong><em>:user</em></strong> оновив мапу "<em>:beatmapset</em>"', ··· 20 20 'username_change' => '<strong>:previousUsername</strong> змінив своє ім\'я на <strong><em>:user</em></strong>!', 21 21 22 22 'beatmapset_status' => [ 23 - 'approved' => 'схвалена', 24 - 'loved' => 'додана в улюблені', 25 - 'qualified' => 'кваліфікована', 26 - 'ranked' => 'ранкнута', 23 + 'approved' => 'схваленою', 24 + 'loved' => 'улюбленою', 25 + 'qualified' => 'кваліфікованою', 26 + 'ranked' => 'рейтинговою', 27 27 ], 28 28 29 29 'value' => [
+4
resources/lang/uk/follows.php
··· 36 36 'modding' => [ 37 37 'title' => 'обговорення мап', 38 38 ], 39 + 40 + 'store' => [ 41 + 'too_many' => '', 42 + ], 39 43 ];
+3 -2
resources/lang/uk/forum.php
··· 64 64 ], 65 65 66 66 'info' => [ 67 - 'post_count' => ':count_delimited пост|:count_delimited постів', 67 + 'post_count' => ':count_delimited пост|:count_delimited пости|:count_delimited постів', 68 68 'topic_starter' => 'Автор теми', 69 69 ], 70 70 ], ··· 80 80 'confirm_restore' => 'Дійсно відновити тему', 81 81 'deleted' => 'видалена тема', 82 82 'go_to_latest' => 'показати останню відповідь', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Ви відповідали на цю тему', 84 85 'in_forum' => 'в :forum', 85 86 'latest_post' => ':when від :user', ··· 341 342 ], 342 343 343 344 'user' => [ 344 - 'count' => '{0} немає голосів|{1} :count_delimited голос|[2,*] :count_delimited голоси', 345 + 'count' => '{0} немає голосів|{1} :count_delimited голос|[2,4] :count_delimited голоси|[5,*] :count_delimited голосів', 345 346 'current' => 'У вас залишилося :votes голосів.', 346 347 'not_enough' => "У вас більше немає голосів", 347 348 ],
+1 -1
resources/lang/uk/home.php
··· 133 133 ], 134 134 ], 135 135 'beatmaps' => [ 136 - 'new' => 'Останні рангові мапи', 136 + 'new' => 'Нові рейтингові мапи', 137 137 'popular' => 'Популярні мапи', 138 138 'by_user' => 'від :user', 139 139 ],
+2 -2
resources/lang/uk/model_validation.php
··· 25 25 ], 26 26 27 27 'hype' => [ 28 - 'discussion_locked' => "Дана карта в поточний момент закрита для обговорення і не може бути хайпанута", 28 + 'discussion_locked' => "Ця мапа зараз заблокована для обговорення і не може бути хайпнута", 29 29 'guest' => 'Ви повинні ввійти для використання хайпу.', 30 30 'hyped' => 'Ви вже хайпили цю мапу.', 31 31 'limit_exceeded' => 'Ви вже використали весь свій хайп.', ··· 174 174 ], 175 175 176 176 'user_report' => [ 177 - 'no_ranked_beatmapset' => 'Рейтингові карти не можуть бути оскаржені ', 177 + 'no_ranked_beatmapset' => 'Рейтингові мапи не можуть бути оскаржені', 178 178 'not_in_channel' => 'Ви не в цьому каналі.', 179 179 'reason_not_valid' => ':reason неправильна для даного типу звіту.', 180 180 'self' => "Ви не можете поскаржитися на себе!",
+2 -2
resources/lang/uk/multiplayer.php
··· 13 13 'room' => [ 14 14 'hosted_by' => 'власник: :user', 15 15 'invalid_password' => 'Невірний пароль кімнати', 16 - 'map_count' => ':count_delimited мапа|:count_delimited мап', 17 - 'player_count' => ':count_delimited гравець|:count_delimited гравців', 16 + 'map_count' => ':count_delimited мапа|:count_delimited мапи|:count_delimited мап', 17 + 'player_count' => ':count_delimited гравець|:count_delimited гравця|:count_delimited гравців', 18 18 'time_left' => ':time залишилось', 19 19 20 20 'errors' => [
+6 -6
resources/lang/uk/notifications.php
··· 57 57 'beatmapset_discussion_unlock_compact' => 'Обговорення відкрито', 58 58 59 59 'review_count' => [ 60 - 'praises' => ':count_delimited похвал|:count_delimited похвали', 61 - 'problems' => ':count_delimited проблем|:count_delimited проблеми', 62 - 'suggestions' => ':count_delimited пропозиція|:count_delimited пропозицій', 60 + 'praises' => ':count_delimited похвалу|:count_delimited похвали|:count_delimited похвал', 61 + 'problems' => ':count_delimited проблему|:count_delimited проблеми|:count_delimited проблем', 62 + 'suggestions' => ':count_delimited пропозицію|:count_delimited пропозиції|:count_delimited пропозицій', 63 63 ], 64 64 ], 65 65 ··· 81 81 'beatmapset_nominate_compact' => 'Карту було номіновано', 82 82 'beatmapset_qualify' => 'Карта ":title" отримала достатньо номінацій, і очікує отримання рейтингу', 83 83 'beatmapset_qualify_compact' => 'Карта увійшла до черги рейтингу', 84 - 'beatmapset_rank' => '":title" стала ранговою', 85 - 'beatmapset_rank_compact' => 'Мапа стала ранговою', 84 + 'beatmapset_rank' => '":title" стала рейтинговою', 85 + 'beatmapset_rank_compact' => 'Мапа стала рейтинговою', 86 86 'beatmapset_remove_from_loved' => '":title" вилучена з Улюблених', 87 87 'beatmapset_remove_from_loved_compact' => 'Бітмапа була вилучена з Улюблених', 88 88 'beatmapset_reset_nominations' => 'Номінацію для мапи ":title" було скинуто через проблему від :username', ··· 205 205 'beatmapset_love' => '":title" підвищено до коханого', 206 206 'beatmapset_nominate' => '":title" було номіновано', 207 207 'beatmapset_qualify' => '":title" отримав достатню кількість номінацій і увійшов до черги рейтингу', 208 - 'beatmapset_rank' => '":title" було оцінено', 208 + 'beatmapset_rank' => '":title" стала рейтинговою', 209 209 'beatmapset_remove_from_loved' => '":title" була вилучена з Улюблених', 210 210 'beatmapset_reset_nominations' => 'Номінація ":title" була скинута', 211 211 ],
+2 -2
resources/lang/uk/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Складність', 14 - 'percentile_10' => '90-ий Відсотковий Рекорд', 15 - 'percentile_50' => '50-ий Відсотковий Рекорд', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+1 -1
resources/lang/uk/store.php
··· 7 7 'cart' => [ 8 8 'checkout' => 'Оплатити', 9 9 'empty_cart' => 'Видалити всі товари з кошику', 10 - 'info' => ':count_delimited товар в кошику ($:subtotal)|:count_delimited товару в кошику ($:subtotal)|:count_delimited товарів в кошику ($:subtotal)', 10 + 'info' => ':count_delimited товар в кошику ($:subtotal)|:count_delimited товари в кошику ($:subtotal)|:count_delimited товарів в кошику ($:subtotal)', 11 11 'more_goodies' => 'Я хочу подивитися на інші товари перед завершенням замовлення', 12 12 'shipping_fees' => 'вартість доставки', 13 13 'title' => 'Кошик',
+1 -1
resources/lang/uk/user_cover_presets.php
··· 12 12 '_' => ':action :items?', 13 13 'disable' => 'Вимкнути', 14 14 'enable' => 'Увімкнути', 15 - 'items' => ':count_delimited обкладинка |:count_delimited обкладинок', 15 + 'items' => ':count_delimited обкладинка |:count_delimited обкладинки|:count_delimited обкладинок', 16 16 ], 17 17 18 18 'create_form' => [
+3 -3
resources/lang/uk/users.php
··· 190 190 191 191 'comments_count' => [ 192 192 '_' => 'Опубліковано :link', 193 - 'count' => ':count_delimited коментар|:count_delimited коментарі|:count_delimited коментарів', 193 + 'count' => ':count_delimited коментар|:count_delimited коментаря|:count_delimited коментарів', 194 194 ], 195 195 'cover' => [ 196 196 'to_0' => 'Згорнути обкладинку профілю', ··· 278 278 'title' => 'Улюблені бітмапи', 279 279 ], 280 280 'nominated' => [ 281 - 'title' => 'Номіновні рейтингові бітмапи', 281 + 'title' => 'Номіновані рейтингові бітмапи', 282 282 ], 283 283 'pending' => [ 284 284 'title' => 'На розгляді', ··· 390 390 ], 391 391 'top_ranks' => [ 392 392 'download_replay' => 'Завантажити повтор', 393 - 'not_ranked' => 'Очки продуктивності видаються тільки за рейтингові карти', 393 + 'not_ranked' => 'Тільки рейтингові мапи надають pp', 394 394 'pp_weight' => 'зважено: :percentage', 395 395 'view_details' => 'Детальніше', 396 396 'title' => 'Рейтинги',
+13 -1
resources/lang/vi/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => 'Không thể nhắn tin cho người dùng đã chặn bạn hoặc nếu bạn đã chặn người đó.', 65 71 'friends_only' => 'Người dùng này đang chặn tin nhắn từ những người không trong danh sách bạn của họ.', 66 72 'moderated' => 'Kênh hiện đang được kiểm duyệt.', 67 73 'no_access' => 'Bạn không có quyền truy cập vào kênh này.', 68 - 'no_announce' => '', 74 + 'no_announce' => 'Bạn không có quyền đăng thông báo.', 69 75 'receive_friends_only' => 'Người này có thể không trả lời được vì bạn đang chỉ chấp nhận tin nhắn từ người trong danh sách bạn bè.', 70 76 'restricted' => 'Bạn không thể gửi tin nhắn trong khi bị silenced, bị hạn chế hoặc bị cấm (ban).', 71 77 'silenced' => 'Bạn không thể gửi tin nhắn trong khi bị silenced, bị hạn chế hoặc bị cấm (ban).', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => 'Chỉ có admin mới có thể xem diễn đàn này.', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/vi/beatmap_discussions.php
··· 67 67 'version' => 'Độ khó', 68 68 ], 69 69 70 + 'refresh' => [ 71 + 'checking' => '', 72 + 'has_updates' => '', 73 + 'no_updates' => '', 74 + 'updating' => '', 75 + ], 76 + 70 77 'reply' => [ 71 78 'open' => [ 72 79 'guest' => 'Hãy đăng nhập để trả lời',
+4
resources/lang/vi/follows.php
··· 35 35 'modding' => [ 36 36 'title' => 'góc thảo luận beatmap ', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/vi/forum.php
··· 80 80 'confirm_restore' => 'Bạn có muốn phục hồi bài viết này?', 81 81 'deleted' => 'chủ đề đã xóa', 82 82 'go_to_latest' => 'xem bài viết gần đây nhất', 83 + 'go_to_unread' => '', 83 84 'has_replied' => 'Bạn đã trả lời topic này', 84 85 'in_forum' => 'trong :forum', 85 86 'latest_post' => ':when bởi :user',
+2 -2
resources/lang/vi/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => 'Độ khó', 14 - 'percentile_10' => '', 15 - 'percentile_50' => '', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+25 -25
resources/lang/zh-tw/accounts.php
··· 21 21 'title' => '電子郵件', 22 22 'locked' => [ 23 23 '_' => '如果您需要更新您的電子郵件地址,請聯絡 :accounts。', 24 - 'accounts' => '帳戶支援團隊', 24 + 'accounts' => '帳號支援團隊', 25 25 ], 26 26 ], 27 27 28 28 'legacy_api' => [ 29 29 'api' => 'api', 30 30 'irc' => 'irc', 31 - 'title' => '舊版API', 31 + 'title' => '舊版 API', 32 32 ], 33 33 34 34 'password' => [ ··· 40 40 41 41 'profile' => [ 42 42 'country' => '國家', 43 - 'title' => '個人資料', 43 + 'title' => '個人檔案', 44 44 45 45 'country_change' => [ 46 - '_' => "您的帳戶資料上所顯示的國家似乎與您當前的居住地不匹配。:update_link。", 46 + '_' => "您的帳號的國家/地區似乎與您的所在地不符。:update_link。", 47 47 'update_link' => '更新為 :country', 48 48 ], 49 49 ··· 64 64 ], 65 65 66 66 'github_user' => [ 67 - 'info' => "如果您是 osu! 開源儲存庫的貢獻者,在這裡連結您的 GitHub 帳戶將會使您的更新日誌條目與您的 osu! 個人資料產生關聯。沒有 osu! 貢獻紀錄的 GitHub 帳戶無法連結。", 68 - 'link' => '連結 GitHub 帳戶', 67 + 'info' => "如果您是 osu! 開源儲存庫的貢獻者,在這裡連結您的 GitHub 帳號將會使您的更新日誌條目與您的 osu! 個人資料產生關聯。沒有 osu! 貢獻紀錄的 GitHub 帳號無法連結。", 68 + 'link' => '連結 GitHub 帳號', 69 69 'title' => 'GitHub', 70 - 'unlink' => '取消連結 GitHub 帳戶', 70 + 'unlink' => '取消連結 GitHub 帳號', 71 71 72 72 'error' => [ 73 - 'already_linked' => '這個 GitHub 帳戶已經連結至另一位玩家的帳戶上。', 74 - 'no_contribution' => 'GitHub 帳戶在 osu! 儲存庫中沒有任何貢獻紀錄,無法連結。', 75 - 'unverified_email' => '請先在 GitHub 上驗證您的主要電子郵件地址,然後再嘗試連結您的帳戶。', 73 + 'already_linked' => '這個 GitHub 帳號已經連結至另一位玩家的帳號上。', 74 + 'no_contribution' => 'GitHub 帳號在 osu! 儲存庫中沒有任何貢獻紀錄,因此無法連結。', 75 + 'unverified_email' => '請先在 GitHub 上驗證您的主要電子郵件地址,然後再嘗試連結您的帳號。', 76 76 ], 77 77 ], 78 78 79 79 'notifications' => [ 80 - 'beatmapset_discussion_qualified_problem' => '在以下模式的 qualified 圖譜上接收新問題通知', 80 + 'beatmapset_discussion_qualified_problem' => '接收以下模式的合格譜面新問題通知', 81 81 'beatmapset_disqualify' => '在以下模式的圖譜被標記為取消提名時收到通知', 82 - 'comment_reply' => '在您的留言被回覆時收到通知', 82 + 'comment_reply' => '接收您留言被回覆的通知', 83 83 'title' => '通知', 84 - 'topic_auto_subscribe' => '自動啟用自己創建的主題的通知', 84 + 'topic_auto_subscribe' => '自動啟用您建立或回覆的新論壇主題通知', 85 85 86 86 'options' => [ 87 87 '_' => '傳送選項', ··· 90 90 'channel_message' => '私訊', 91 91 'comment_new' => '新評論', 92 92 'forum_topic_reply' => '主題回覆', 93 - 'mail' => '郵箱', 93 + 'mail' => '郵件', 94 94 'mapping' => '圖譜製作者', 95 95 'push' => '推送', 96 96 ], 97 97 ], 98 98 99 99 'oauth' => [ 100 - 'authorized_clients' => '已授權客戶端', 101 - 'own_clients' => '擁有的客戶端', 100 + 'authorized_clients' => '已授權用戶端', 101 + 'own_clients' => '擁有的用戶端', 102 102 'title' => 'OAuth', 103 103 ], 104 104 ··· 110 110 'beatmapset_download' => [ 111 111 '_' => '預設圖譜下載類型', 112 112 'all' => '包含影片', 113 - 'direct' => '在osu!direct中查看', 113 + 'direct' => '在 osu!direct 中查看', 114 114 'no_video' => '不包含影片', 115 115 ], 116 116 ], ··· 124 124 ], 125 125 126 126 'privacy' => [ 127 - 'friends_only' => '過濾來自好友以外的訊息', 128 - 'hide_online' => '隱藏在線狀態', 129 - 'title' => '隱私政策', 127 + 'friends_only' => '封鎖非好友的私人訊息', 128 + 'hide_online' => '隱藏線上狀態', 129 + 'title' => '隱私權政策', 130 130 ], 131 131 132 132 'security' => [ 133 133 'current_session' => '目前', 134 - 'end_session' => '終止會話', 135 - 'end_session_confirmation' => '你確定要立刻結束該設備上的會話嗎?', 134 + 'end_session' => '終止工作階段', 135 + 'end_session_confirmation' => '這將立即結束這個裝置上的工作階段。您確定嗎?', 136 136 'last_active' => '上次使用:', 137 - 'title' => '安全', 138 - 'web_sessions' => '瀏覽器會話', 137 + 'title' => '安全性', 138 + 'web_sessions' => '瀏覽器工作階段', 139 139 ], 140 140 141 141 'update_email' => [ ··· 152 152 ], 153 153 154 154 'verification_invalid' => [ 155 - 'title' => '無效或過期的驗證連結', 155 + 'title' => '驗證連結無效或已過期', 156 156 ], 157 157 ];
+7 -7
resources/lang/zh-tw/api.php
··· 6 6 return [ 7 7 'error' => [ 8 8 'chat' => [ 9 - 'empty' => '無法傳送沒有內容的訊息。', 10 - 'limit_exceeded' => '您發送訊息的速度太快了,請稍後再試。', 11 - 'too_long' => '你要發送的訊息太長。', 9 + 'empty' => '無法傳送空白訊息。', 10 + 'limit_exceeded' => '您傳送訊息的速度太快了,請稍後再試。', 11 + 'too_long' => '您要傳送的訊息太長了。', 12 12 ], 13 13 ], 14 14 15 15 'scopes' => [ 16 16 'bot' => '作為聊天機器人。', 17 - 'identify' => '識別您的身份並閱讀您的公開個人資料。', 17 + 'identify' => '識別您的身分並閱讀您的公開個人資料。', 18 18 19 19 'chat' => [ 20 20 'read' => '以您的身分閲讀訊息。', 21 - 'write' => '以你的身份傳送訊息。', 21 + 'write' => '以你的身分傳送訊息。', 22 22 'write_manage' => '以您的身分加入或離開頻道。', 23 23 ], 24 24 ··· 27 27 ], 28 28 29 29 'friends' => [ 30 - 'read' => '查看您追蹤的玩家們。', 30 + 'read' => '查看您追蹤的玩家。', 31 31 ], 32 32 33 - 'public' => '以你的身份讀取公開資料。', 33 + 'public' => '以你的身分讀取公開資料。', 34 34 ], 35 35 ];
+4 -4
resources/lang/zh-tw/artist.php
··· 8 8 'title' => '精選藝術家', 9 9 10 10 'admin' => [ 11 - 'hidden' => '此藝術家已被隱藏', 11 + 'hidden' => '這個藝術家已被隱藏', 12 12 ], 13 13 14 14 'beatmaps' => [ ··· 18 18 ], 19 19 20 20 'index' => [ 21 - 'description' => '為了給 osu! 帶來新的原創歌曲,我們正在和一些藝術家合作。他們的部分專輯被 osu! 團隊選中作為制譜的絕佳素材。有的藝術家還為 osu! 提供了高質量的新專輯。<br><br>這些專輯均提供了預先準備的 .osz 文件,並且已經獲得了官方授權(在 osu! 及其周邊內容中使用)', 21 + 'description' => '精選藝術家是我們正在合作的藝術家,目的是為 osu! 帶來全新原創的音樂。這些藝術家和他們的一些曲目,都是經由 osu! 團隊精心挑選,品質優良且適合用於圖譜製作。部分精選藝術家也創作了專門用於 osu! 的全新曲目。<br><br>此區所有曲目均以預先計時的 .osz 檔案格式提供,並已獲得官方授權,可在 osu! 及 osu! 相關內容中使用。', 22 22 ], 23 23 24 24 'links' => [ 25 25 'beatmaps' => 'osu! 圖譜', 26 - 'osu' => 'osu! 個人簡介', 26 + 'osu' => 'osu! 個人檔案', 27 27 'site' => '官方網站', 28 28 ], 29 29 30 30 'songs' => [ 31 31 '_' => '樂曲', 32 - 'count' => ':count_delimited 首音樂|:count_delimited 首音樂', 32 + 'count' => ':count_delimited 首歌曲|:count_delimited 首歌曲', 33 33 'original' => 'osu! 原創', 34 34 'original_badge' => '原創曲', 35 35 ],
+43 -31
resources/lang/zh-tw/authorization.php
··· 6 6 return [ 7 7 'play_more' => '不如馬上玩點 osu! 吧?', 8 8 'require_login' => '登入以繼續。', 9 - 'require_verification' => '需要驗證帳戶!', 9 + 'require_verification' => '驗證以繼續。', 10 10 'restricted' => "帳戶處於限制模式,無法進行該操作。", 11 - 'silenced' => "帳戶被禁言,無法進行該操作。", 11 + 'silenced' => "帳號被禁言,無法進行該操作。", 12 12 'unauthorized' => '沒有權限。', 13 13 14 14 'beatmap_discussion' => [ ··· 23 23 'set_metadata' => '您必須在提名之前先設定類型和語言。', 24 24 ], 25 25 'resolve' => [ 26 - 'not_owner' => '只有樓主和圖譜所有者才能標記為已解決。', 26 + 'not_owner' => '只有樓主和圖譜擁有者才能標記為已解決。', 27 27 ], 28 28 29 29 'store' => [ 30 - 'mapper_note_wrong_user' => '只有圖譜作者或譜面管理團隊/質量保證團隊可以發布備註。', 30 + 'mapper_note_wrong_user' => '只有圖譜製作者或圖譜管理團隊/品質保證團隊可以發布備註。', 31 31 ], 32 32 33 33 'vote' => [ 34 34 'bot' => "不能為機器人建立的討論投票。", 35 - 'limit_exceeded' => '在投更多票之前請稍等一會', 35 + 'limit_exceeded' => '請稍候片刻再進行投票', 36 36 'owner' => "不能為自己的討論投票。", 37 37 'wrong_beatmapset_state' => '只能對待處理的圖譜討論進行投票。', 38 38 ], ··· 40 40 41 41 'beatmap_discussion_post' => [ 42 42 'destroy' => [ 43 - 'not_owner' => '您只能刪除自己的發文。', 43 + 'not_owner' => '您只能刪除自己的貼文。', 44 44 'resolved' => '你不能刪除已解決的討論串。', 45 45 'system_generated' => '自動生成的貼文無法刪除。', 46 46 ], 47 47 48 48 'edit' => [ 49 - 'not_owner' => '只有作者可以編輯。', 49 + 'not_owner' => '只有發文者可以編輯。', 50 50 'resolved' => '你不能編輯已解決討論裡的貼文。', 51 51 'system_generated' => '無法編輯自動回覆。', 52 52 ], ··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 - 'blocked' => '無法向封鎖你或被你封鎖的人發送訊息。', 65 - 'friends_only' => '用戶阻止了來自非好友的訊息。', 66 - 'moderated' => '該頻道目前正在被管制中。', 67 - 'no_access' => '你沒有權限訪問該頻道。', 68 - 'no_announce' => '', 70 + 'blocked' => '無法向封鎖你或被你封鎖的人傳送訊息。', 71 + 'friends_only' => '這個使用者未開放陌生訊息', 72 + 'moderated' => '這個頻道目前受到管制。', 73 + 'no_access' => '你沒有權限存取該頻道。', 74 + 'no_announce' => '你沒有權限發布公告。', 69 75 'receive_friends_only' => '由於您只接受好友訊息,故使用者可能無法回應。', 70 - 'restricted' => '你不能在帳戶被禁言、限制或封鎖的時候發送訊息。', 71 - 'silenced' => '你不能在帳戶被禁言、限制或封鎖的時候傳送訊息。', 76 + 'restricted' => '您不能在被禁言、限制或封鎖期間傳送訊息。', 77 + 'silenced' => '您不能在被禁言、限制或封鎖期間傳送訊息。', 72 78 ], 73 79 74 80 'comment' => [ ··· 81 87 ], 82 88 83 89 'contest' => [ 84 - 'judging_not_active' => '此次競賽尚未進入評分階段。', 90 + 'judging_not_active' => '本次競賽尚未進入評分階段。', 85 91 'voting_over' => '投票已結束,禁止重新投票。', 86 92 87 93 'entry' => [ ··· 113 119 114 120 'store' => [ 115 121 'play_more' => '在論壇發文前,請先嘗試遊玩遊戲!如果您在遊玩過程中遇到問題,請在「說明與支援」論壇發文。', 116 - 'too_many_help_posts' => "您需要再玩久一點才可以發布更多貼文,如果您仍然在遊戲中遇到問題,請聯繫support@ppy.sh", // FIXME: unhardcode email address. 122 + 'too_many_help_posts' => "您需要再玩久一點才可以發布更多貼文,如果您仍然在遊戲中遇到問題,請聯絡 support@ppy.sh", // FIXME: unhardcode email address. 117 123 ], 118 124 ], 119 125 120 126 'topic' => [ 121 127 'reply' => [ 122 - 'double_post' => '請編輯您的最後一條評論,而不是再次發表。', 128 + 'double_post' => '請編輯您的最後一則貼文,而不是再次發布。', 123 129 'locked' => '無法回覆被鎖定的主題。', 124 - 'no_forum_access' => '沒有權限,無法進入該板塊。', 130 + 'no_forum_access' => '沒有權限,無法進入該論壇。', 125 131 'no_permission' => '沒有權限,無法回覆。', 126 132 127 133 'user' => [ 128 134 'require_login' => '回覆前請先登入。', 129 - 'restricted' => "帳戶處於限制模式,無法回覆。", 130 - 'silenced' => "帳戶被禁言,無法回覆。", 135 + 'restricted' => "帳號處於限制模式,無法回覆。", 136 + 'silenced' => "帳號被禁言,無法回覆。", 131 137 ], 132 138 ], 133 139 134 140 'store' => [ 135 - 'no_forum_access' => '沒有權限,無法進入該板塊。', 136 - 'no_permission' => '沒有權限,無法創建新主題。', 137 - 'forum_closed' => '該討論區已關閉,無法發表新主題。', 141 + 'no_forum_access' => '沒有權限,無法進入該論壇。', 142 + 'no_permission' => '沒有權限,無法建立新主題。', 143 + 'forum_closed' => '該討論區已關閉,無法發布新主題。', 138 144 ], 139 145 140 146 'vote' => [ 141 - 'no_forum_access' => '沒有權限,無法進入該討論區。', 147 + 'no_forum_access' => '沒有權限,無法進入該論壇。', 142 148 'over' => '投票已結束!', 143 - 'play_more' => '你需要多玩一些才可以在論壇上投票。', 149 + 'play_more' => '你需要多玩一點才可以在論壇上投票。', 144 150 'voted' => '不允許修改投票。', 145 151 146 152 'user' => [ 147 153 'require_login' => '投票前請先登入。', 148 - 'restricted' => "帳戶處於限制模式,無法投票。", 149 - 'silenced' => "帳戶被禁言,無法投票。", 154 + 'restricted' => "帳號處於限制模式,無法投票。", 155 + 'silenced' => "帳號被禁言,無法投票。", 150 156 ], 151 157 ], 152 158 153 159 'watch' => [ 154 - 'no_forum_access' => '沒有權限,無法進入該板塊。', 160 + 'no_forum_access' => '沒有權限,無法進入該論壇。', 155 161 ], 156 162 ], 157 163 ··· 161 167 'not_owner' => '只有樓主可以編輯封面。', 162 168 ], 163 169 'store' => [ 164 - 'forum_not_allowed' => '此論壇不接受主題覆蓋。', 170 + 'forum_not_allowed' => '這個論壇不接受主題覆蓋。', 165 171 ], 166 172 ], 167 173 168 174 'view' => [ 169 - 'admin_only' => '該討論區僅限管理員查看。', 175 + 'admin_only' => '這個討論區僅限管理員查看。', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184 ··· 188 200 ], 189 201 ], 190 202 'update_email' => [ 191 - 'locked' => '電子郵箱地址已鎖定', 203 + 'locked' => '電子郵件地址已鎖定', 192 204 ], 193 205 ], 194 206 ];
+2 -2
resources/lang/zh-tw/bbcode.php
··· 6 6 return [ 7 7 'bold' => '粗體', 8 8 'heading' => '標題', 9 - 'help' => '幫助', 9 + 'help' => '說明', 10 10 'image' => '圖片', 11 11 'imagemap' => '圖片地圖', 12 12 'italic' => '斜體', ··· 14 14 'list' => '無序列表', 15 15 'list_numbered' => '編號清單', 16 16 'size' => [ 17 - '_' => '字體大小', 17 + '_' => '字型大小', 18 18 'tiny' => '極小', 19 19 'small' => '小', 20 20 'normal' => '普通',
+1 -1
resources/lang/zh-tw/beatmap_discussion_posts.php
··· 5 5 6 6 return [ 7 7 'index' => [ 8 - 'title' => '圖譜討論文', 8 + 'title' => '圖譜討論貼文', 9 9 ], 10 10 11 11 'item' => [
+25 -18
resources/lang/zh-tw/beatmap_discussions.php
··· 26 26 'deleted' => '包括已經刪除的討論', 27 27 'mode' => '圖譜遊戲模式', 28 28 'only_unresolved' => '只顯示未解決的討論', 29 - 'show_review_embeds' => '顯示評論帖子', 29 + 'show_review_embeds' => '顯示審核貼文', 30 30 'types' => '訊息類別', 31 31 'username' => '使用者名稱', 32 32 33 33 'beatmapset_status' => [ 34 34 '_' => '圖譜狀態', 35 35 'all' => '全部', 36 - 'disqualified' => 'Disqualified', 37 - 'never_qualified' => 'Never Qualified', 38 - 'qualified' => 'Qualified', 36 + 'disqualified' => '取消資格', 37 + 'never_qualified' => '從未合格', 38 + 'qualified' => '合格', 39 39 'ranked' => '已進榜', 40 40 ], 41 41 42 42 'user' => [ 43 - 'label' => '用戶', 43 + 'label' => '使用者', 44 44 'overview' => '活動總覽', 45 45 ], 46 46 ], 47 47 ], 48 48 49 49 'item' => [ 50 - 'created_at' => '發佈日期', 50 + 'created_at' => '發布日期', 51 51 'deleted_at' => '刪除日期', 52 52 'message_type' => '類型', 53 53 'permalink' => '固定連結', ··· 56 56 'nearby_posts' => [ 57 57 'confirm' => '在這個時間點上沒有相關的討論記錄。', 58 58 'notice' => '在 :timestamp 附近(:existing_timestamps)有討論記錄,發表前請檢查。', 59 - 'unsaved' => '在此結算的:count', 59 + 'unsaved' => '這個審核中有 :count', 60 60 ], 61 61 62 62 'owner_editor' => [ 63 - 'button' => '難度作者', 64 - 'reset_confirm' => '要重設此難度的作者嗎?', 65 - 'user' => '作者', 63 + 'button' => '難度擁有者', 64 + 'reset_confirm' => '要重設這個難度的擁有者嗎?', 65 + 'user' => '擁有者', 66 66 'version' => '難度', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => '登入以回覆', ··· 74 81 ], 75 82 76 83 'review' => [ 77 - 'block_count' => '已耗用 :used / :max 個方塊', 78 - 'go_to_parent' => '檢視其他人的評論', 84 + 'block_count' => '已使用 :used / :max 個區塊', 85 + 'go_to_parent' => '查看其他人的審核', 79 86 'go_to_child' => '查看討論', 80 87 'validation' => [ 81 88 'block_too_large' => '每個區塊最多只能有 :limit 個字元', 82 - 'external_references' => '評論有指向不屬於這個評論的議題', 89 + 'external_references' => '評論有指向不屬於這個審核的議題', 83 90 'invalid_block_type' => '區塊類型無效', 84 - 'invalid_document' => '評論無效', 91 + 'invalid_document' => '審核無效', 85 92 'invalid_discussion_type' => '討論類型不正確', 86 - 'minimum_issues' => '評論至少要有 :count 個議題|評論至少要有 :count 個議題', 93 + 'minimum_issues' => '審核時必須指出最少 :count 個問題', 87 94 'missing_text' => '區塊缺少文字', 88 95 'too_many_blocks' => '評論最多只能有 :count 個段落或議題|評論最多只能有 :count 個段落或議題', 89 96 ], ··· 92 99 'system' => [ 93 100 'resolved' => [ 94 101 'true' => '被 :user 標記為 “已解決”', 95 - 'false' => '被 :user 標記為 “未解決”', 102 + 'false' => '被 :user 標記為「未解決」', 96 103 ], 97 104 ], 98 105 99 106 'timestamp_display' => [ 100 107 'general' => '一般', 101 - 'general_all' => '一般(所有)', 108 + 'general_all' => '一般(所有難度)', 102 109 ], 103 110 104 111 'user_filter' => [ 105 112 'everyone' => '所有人', 106 - 'label' => '按使用者篩選', 113 + 'label' => '依使用者篩選', 107 114 ], 108 115 ];
+10 -10
resources/lang/zh-tw/beatmappacks.php
··· 5 5 6 6 return [ 7 7 'index' => [ 8 - 'description' => '相同主題的圖譜合集壓縮檔', 9 - 'empty' => '敬請期待!', 10 - 'nav_title' => '列表', 11 - 'title' => '曲包', 8 + 'description' => '圍繞相同主題的圖譜合集壓縮檔', 9 + 'empty' => '敬請期待!', 10 + 'nav_title' => '清單', 11 + 'title' => '圖譜壓縮檔', 12 12 13 13 'blurb' => [ 14 14 'important' => '下載前必讀', 15 - 'install_instruction' => '如何安裝:下載完成後,請將圖譜包解壓縮到 osu! 的 Songs 資料夾。osu! 會處理後續流程。', 15 + 'install_instruction' => '如何安裝:下載完成後,請將圖譜壓縮檔解壓縮到 osu! 的 Songs 資料夾。osu! 會處理後續流程。', 16 16 ], 17 17 ], 18 18 19 19 'show' => [ 20 20 'download' => '下載', 21 21 'item' => [ 22 - 'cleared' => '玩過', 23 - 'not_cleared' => '未玩', 22 + 'cleared' => '已通過', 23 + 'not_cleared' => '未通過', 24 24 ], 25 25 'no_diff_reduction' => [ 26 - '_' => '使用:link將無法解鎖這個曲包的成就。', 26 + '_' => '使用:link將無法解鎖這個圖譜壓縮檔的成就。', 27 27 'link' => '降低難度的 mod', 28 28 ], 29 29 ], 30 30 31 31 'mode' => [ 32 32 'artist' => '藝術家/專輯', 33 - 'chart' => '頭條', 33 + 'chart' => '聚光燈', 34 34 'featured' => '精選藝術家', 35 - 'loved' => '社群喜愛計劃', 35 + 'loved' => '社群喜愛計畫', 36 36 'standard' => '標準', 37 37 'theme' => '主題', 38 38 'tournament' => '錦標賽',
+59 -59
resources/lang/zh-tw/beatmaps.php
··· 21 21 'guest' => '由 :user 製作的客串難度', 22 22 'kudosu_denied' => 'kudosu 被收回', 23 23 'message_placeholder_deleted_beatmap' => '該難度已被刪除,無法繼續討論', 24 - 'message_placeholder_locked' => '此圖譜的討論已被禁用。', 25 - 'message_placeholder_silenced' => "帳戶被禁言,無法發佈討論。", 24 + 'message_placeholder_locked' => '此圖譜的討論已被停用。', 25 + 'message_placeholder_silenced' => "禁言時無法發布討論。", 26 26 'message_type_select' => '選擇回覆類型', 27 27 'reply_notice' => '按下 Enter 以回覆', 28 - 'reply_resolve_notice' => '按下 Enter 以回覆。按 Ctrl+Enter 以回覆與解決。', 28 + 'reply_resolve_notice' => '按下 Enter 以回覆。按下 Ctrl+Enter 以回覆並標記為解決。', 29 29 'reply_placeholder' => '在此處輸入您的回覆', 30 - 'require-login' => '回覆前請先登入。', 30 + 'require-login' => '登入以發文或回覆', 31 31 'resolved' => '已解決', 32 32 'restore' => '已修復', 33 - 'show_deleted' => '顯示刪除的項目', 33 + 'show_deleted' => '顯示已刪除的訊息', 34 34 'title' => '討論區', 35 35 'unresolved_count' => ':count_delimited 個未解決問題', 36 36 37 37 'collapse' => [ 38 - 'all-collapse' => '收回全部', 39 - 'all-expand' => '展開全部', 38 + 'all-collapse' => '全部摺疊', 39 + 'all-expand' => '全部展開', 40 40 ], 41 41 42 42 'empty' => [ ··· 51 51 ], 52 52 53 53 'prompt' => [ 54 - 'lock' => '鎖定的原因', 55 - 'unlock' => '確認解鎖?', 54 + 'lock' => '鎖定原因', 55 + 'unlock' => '確定要解鎖嗎?', 56 56 ], 57 57 ], 58 58 59 59 'message_hint' => [ 60 - 'in_general' => '這篇貼文將發佈到圖譜討論區中。如需要檢查此圖譜某個特定部分,請在開頭加入時間戳 (例如: 00:12:345)。', 61 - 'in_timeline' => '每篇貼文僅加入一個時間戳,如需要檢查多個時間戳,請將時間戳分別發佈至不同貼文,並寫下發表意見。', 60 + 'in_general' => '這則貼文將發布至一般圖譜討論區。如要針對此難度提供修改意見,請在訊息開頭加上時間戳記(例如:00:12:345)。', 61 + 'in_timeline' => '如要針對多個時間戳記提供修改意見,請分多次發布訊息(每個時間戳記一則貼文)。', 62 62 ], 63 63 64 64 'message_placeholder' => [ 65 - 'general' => '在此處輸入以發佈至整體 (:version)', 66 - 'generalAll' => '在此處輸入以發佈至整體 (所有難度)', 67 - 'review' => '在此處輸入以發佈評論', 68 - 'timeline' => '在此處輸入以發佈至時間軸 (:version)', 65 + 'general' => '在這裡輸入以發布至整體 (:version)', 66 + 'generalAll' => '在這裡輸入以發布至整體(所有難度)', 67 + 'review' => '在這裡輸入以發布評論', 68 + 'timeline' => '在這裡輸入以發布至時間軸 (:version)', 69 69 ], 70 70 71 71 'message_type' => [ ··· 83 83 'message_type_title' => [ 84 84 'disqualify' => '取消提名', 85 85 'hype' => '推薦!', 86 - 'mapper_note' => '備注', 86 + 'mapper_note' => '發布備註', 87 87 'nomination_reset' => '刪除所有提名', 88 88 'praise' => '表揚', 89 89 'problem' => '問題', ··· 106 106 'new' => [ 107 107 'pin' => '釘選', 108 108 'timestamp' => '時間戳', 109 - 'timestamp_missing' => '在編輯模式下按 Ctrl+C 並至您輸入的對話框中按 Ctrl+V 以加入時間戳!', 109 + 'timestamp_missing' => '在編輯模式下按下 Ctrl+C,然後貼到你的訊息中即可加入時間戳記!', 110 110 'title' => '新的討論', 111 111 'unpin' => '取消釘選', 112 112 ], ··· 119 119 'unlink' => '取消連結', 120 120 'unsaved' => '尚未儲存', 121 121 'timestamp' => [ 122 - 'all-diff' => '發佈於「所有難度」的無法進行時間戳記', 123 - 'diff' => '如果這個 :type 開頭是時間戳,時間戳會在「時間軸」下顯示。', 122 + 'all-diff' => '發布於「所有難度」的無法進行時間戳記', 123 + 'diff' => '如果這則貼文以時間戳記開頭,它將顯示在時間軸下方。', 124 124 ], 125 125 ], 126 126 'insert-block' => [ ··· 152 152 ], 153 153 154 154 'status-messages' => [ 155 - 'approved' => '這張圖譜於 :date 被批准!', 155 + 'approved' => '這張圖譜在 :date 獲得核准!', 156 156 'graveyard' => "這張圖譜自 :date 就未更新了,或許它已經被作者拋棄了 ;w;", 157 - 'loved' => '這張圖譜於 :date 被 Loved !', 158 - 'ranked' => '這張圖譜於 :date 進榜了!', 157 + 'loved' => '這張圖譜於 :date 被加入到社群喜愛分類!', 158 + 'ranked' => '這張圖譜於 :date 進榜!', 159 159 'wip' => '注意:這張圖譜被作者標記為製作中(半成品)', 160 160 ], 161 161 ··· 176 176 'button_done' => '已經推薦!', 177 177 'confirm' => "你確定嗎?這將會使用你剩下的 :n 次推薦次數並且無法撤銷。", 178 178 'explanation' => '推薦這張圖譜讓它更容易被提名和進榜 !', 179 - 'explanation_guest' => '登錄並推薦這張譜面讓它更容易被提名然後 ranked !', 179 + 'explanation_guest' => '登入並推薦這張圖譜,讓它更容易被提名並進榜!', 180 180 'new_time' => "你將在 :new_time 後獲得新的推薦次數。", 181 181 'remaining' => '你還可以推薦 :remaining 次。', 182 182 'required_text' => '推薦進度: :current/:required', ··· 190 190 191 191 'nominations' => [ 192 192 'already_nominated' => '您已經提名過這張圖譜了', 193 - 'cannot_nominate' => '您不能提名此遊戲模式的圖譜', 193 + 'cannot_nominate' => '您不能提名這個遊戲模式的圖譜', 194 194 'delete' => '刪除', 195 - 'delete_own_confirm' => '你確定嗎?這個圖譜將被刪除,刪除後你將重新導向到你的個人資料頁面。', 196 - 'delete_other_confirm' => '你確定嗎?這個圖譜將被刪除,刪除後你將重新導向到他的個人資料頁面。', 197 - 'disqualification_prompt' => 'Disqualified 的理由?', 198 - 'disqualified_at' => '於 :time_ago 被 Disqualified(:reason)。', 195 + 'delete_own_confirm' => '你確定嗎?這張圖譜將被刪除,刪除後你將重新導向到你的個人檔案頁面。', 196 + 'delete_other_confirm' => '你確定嗎?這張圖譜將被刪除,刪除後你將重新導向到他的個人檔案頁面。', 197 + 'disqualification_prompt' => '請說明取消資格的原因。', 198 + 'disqualified_at' => '於 :time_ago 被取消資格(:reason)。', 199 199 'disqualified_no_reason' => '沒有指定原因', 200 200 'disqualify' => '取消提名', 201 - 'incorrect_state' => '操作發生錯誤,請重新載入頁面。', 202 - 'love' => '喜歡', 203 - 'love_choose' => '選擇 Loved 圖譜的難度', 201 + 'incorrect_state' => '執行該操作時發生錯誤,請嘗試重新整理頁面。', 202 + 'love' => '社群喜愛', 203 + 'love_choose' => '選擇要移入社群喜愛狀態的難度', 204 204 'love_confirm' => '喜歡這張圖譜嗎?', 205 205 'nominate' => '提名', 206 206 'nominate_confirm' => '確定要提名這張圖譜?', 207 207 'nominated_by' => '被 :users 提名', 208 208 'not_enough_hype' => "沒有足夠的推薦。", 209 - 'remove_from_loved' => '從 Loved 中移除', 210 - 'remove_from_loved_prompt' => '從 Loved 中移除的原因:', 211 - 'required_text' => '提名數: :current/:required', 209 + 'remove_from_loved' => '從社群喜愛中移除', 210 + 'remove_from_loved_prompt' => '從社群喜愛中移除的原因:', 211 + 'required_text' => '提名數::current/:required', 212 212 'reset_message_deleted' => '已刪除', 213 213 'title' => '提名狀態', 214 214 'unresolved_issues' => '仍然有需解決的問題 。', 215 215 216 216 'rank_estimate' => [ 217 - '_' => '若沒找到問題,該圖譜將於 :date 進榜。位於 :queue 中的 #:position。', 217 + '_' => '如果沒有發現問題,這張圖譜預計會在 :date 進榜。它在 :queue 中排名第 #:position。', 218 218 'unresolved_problems' => '除非已解決 :problems,否則這張圖譜會一直處於已提名狀態。', 219 219 'problems' => '這些問題', 220 220 'on' => '在:date', 221 - 'queue' => 'ranking 列隊', 221 + 'queue' => '排名佇列', 222 222 'soon' => '不久後', 223 223 ], 224 224 225 225 'reset_at' => [ 226 - 'nomination_reset' => '提名進度於 :time_ago 被新問題 :discussion 重置。', 227 - 'disqualify' => ':time_ago :user 因新问题 :discussion (:message) 而被 DQ.', 226 + 'nomination_reset' => '提名程序已由 :user 在 :time_ago 重設,新的問題是 :discussion (:message)。', 227 + 'disqualify' => '由 :user 在 :time_ago 取消資格,新的問題是 :discussion (:message)。', 228 228 ], 229 229 230 230 'reset_confirm' => [ 231 - 'disqualify' => '你確定嗎?這個會移除圖譜從進榜和重設提名進度。', 232 - 'nomination_reset' => '你確定嗎?提出新的問題會重置提名進度。', 233 - 'problem_warning' => '您確定要回報本圖譜的問題嗎?這問題將通知圖譜管理團隊。', 231 + 'disqualify' => '你確定嗎?這將把譜面從合格狀態移除並重設提名程序。', 232 + 'nomination_reset' => '你確定嗎?提出新的問題將重設提名程序。', 233 + 'problem_warning' => '你確定要回報這個譜面的問題嗎?這會通知圖譜管理團隊 (BN)。', 234 234 ], 235 235 ], 236 236 ··· 239 239 'prompt' => '輸入關鍵字...', 240 240 'login_required' => '登入以搜尋。', 241 241 'options' => '更多搜尋選項', 242 - 'supporter_filter' => '按 :filters 篩選需要擁有有效的贊助者標籤', 242 + 'supporter_filter' => '使用 :filters 進行篩選需要有效的 osu!supporter 標籤', 243 243 'not-found' => '沒有結果', 244 - 'not-found-quote' => '姆....,什麼也沒有。', 244 + 'not-found-quote' => '… 呃,什麼都沒找到。', 245 245 'filters' => [ 246 246 'extra' => '其他資訊', 247 247 'general' => '一般', ··· 266 266 'nominations' => '提名狀態', 267 267 ], 268 268 'supporter_filter_quote' => [ 269 - '_' => '按 :filters 篩選需先成為 :link', 269 + '_' => '使用 :filters 進行篩選需要有效的 :link', 270 270 'link_text' => 'osu! 贊助者標籤', 271 271 ], 272 272 ], ··· 274 274 'general' => [ 275 275 'converts' => '包括轉換圖譜', 276 276 'featured_artists' => '精選藝術家', 277 - 'follows' => '訂閱的作圖者', 277 + 'follows' => '已訂閱的圖譜製作者', 278 278 'recommended' => '推薦難度', 279 279 'spotlights' => '聚光燈圖譜', 280 280 ], ··· 289 289 ], 290 290 'status' => [ 291 291 'any' => '所有', 292 - 'approved' => '批准', 292 + 'approved' => '已核准', 293 293 'favourites' => '收藏', 294 294 'graveyard' => '拋棄', 295 295 'leaderboard' => '擁有排行榜', 296 - 'loved' => 'Loved', 296 + 'loved' => '社群喜愛', 297 297 'mine' => '我的圖譜', 298 - 'pending' => '待處理&製作中', 298 + 'pending' => '待處理', 299 299 'wip' => '尚未完工 (WIP)', 300 300 'qualified' => 'Qualified', 301 301 'ranked' => '已進榜', ··· 318 318 ], 319 319 'language' => [ 320 320 'any' => '所有', 321 - 'english' => '英語', 322 - 'chinese' => '漢語', 323 - 'french' => '法語', 324 - 'german' => '德語', 325 - 'italian' => '意大利語', 326 - 'japanese' => '日語', 327 - 'korean' => '韓語', 328 - 'spanish' => '西班牙語', 329 - 'swedish' => '瑞典語', 330 - 'russian' => '俄語', 331 - 'polish' => '波蘭語', 321 + 'english' => '英文', 322 + 'chinese' => '中文', 323 + 'french' => '法文', 324 + 'german' => '德文', 325 + 'italian' => '意大利文', 326 + 'japanese' => '日文', 327 + 'korean' => '韓文', 328 + 'spanish' => '西班牙文', 329 + 'swedish' => '瑞典文', 330 + 'russian' => '俄文', 331 + 'polish' => '波蘭文', 332 332 'instrumental' => '樂器演奏', 333 333 'other' => '其他', 334 334 'unspecified' => '未指定',
+19 -19
resources/lang/zh-tw/beatmapset_events.php
··· 8 8 'approve' => '已批准。', 9 9 'beatmap_owner_change' => '難度 :beatmap 的作者已變更為 :new_user。', 10 10 'discussion_delete' => '管理員刪除了 :discussion 。', 11 - 'discussion_lock' => '此圖譜的討論已被禁用。(:text)', 12 - 'discussion_post_delete' => '管理員在 :discussion 中刪除了這條回覆。', 13 - 'discussion_post_restore' => '管理員在 :discussion 中恢復了這條回覆。', 11 + 'discussion_lock' => '這張圖譜的討論已被停用。(:text)', 12 + 'discussion_post_delete' => '管理員在 :discussion 中刪除了這則回覆。', 13 + 'discussion_post_restore' => '管理員在 :discussion 中恢復了這則回覆。', 14 14 'discussion_restore' => '管理員已恢復 :discussion 。', 15 - 'discussion_unlock' => '此圖譜的討論已被啟用。', 16 - 'disqualify' => '該圖譜因 :discussion(:text)被 :user DQ', 15 + 'discussion_unlock' => '這張圖譜的討論已被啟用。', 16 + 'disqualify' => '這張圖譜因 :discussion(:text)被 :user 取消資格 (DQ)。', 17 17 'disqualify_legacy' => '該圖譜因 :text 被 DQ', 18 - 'genre_edit' => '曲風由 :old 更改為 :new。', 19 - 'issue_reopen' => '問題 :discussion 被重新打開。', 20 - 'issue_resolve' => '問題 :discussion 被標記為 “已解決”。', 18 + 'genre_edit' => '曲風由 :old 變更為 :new。', 19 + 'issue_reopen' => ':user 要求重審 :discussion_user 提出的問題 :discussion。', 20 + 'issue_resolve' => ':user 已解決 :discussion_user 提出的問題 :discussion。', 21 21 'kudosu_allow' => '討論 :discussion 的 kudosu 移除操作已被重置。', 22 22 'kudosu_deny' => '討論 :discussion 所得的 kudosu 被移除。', 23 23 'kudosu_gain' => '討論 :discussion 獲得了足夠的票數而被給予 kudosu 。', 24 24 'kudosu_lost' => '討論 :discussion 失去了票數,並且所得 kudosu 已被移除。', 25 25 'kudosu_recalculate' => '討論 :discussion 所得的 kudosu 已經重新計算。', 26 - 'language_edit' => '語言由:old更改為:new', 26 + 'language_edit' => '語言從 :old 改為 :new。', 27 27 'love' => '受到 :user 的喜愛', 28 28 'nominate' => '被 :user 提名', 29 29 'nominate_modes' => '由 :user 提名 (:modes)。', 30 - 'nomination_reset' => '新問題 :discussion (:text)導致提名被重置。', 31 - 'nomination_reset_received' => ':source_user 重置了 :user 的提名 (:text)', 32 - 'nomination_reset_received_profile' => ':user 重置了提名 (:text)', 30 + 'nomination_reset' => '新問題 :discussion(:text)導致提名被重設。', 31 + 'nomination_reset_received' => ':source_user 重設了 :user 的提名 (:text)', 32 + 'nomination_reset_received_profile' => ':user 重設了提名 (:text)', 33 33 'offset_edit' => '線上偏移調整已從 :old 變更為 :new。', 34 34 'qualify' => '這張圖譜已經達到所需的提名數量,並已經 qualified。', 35 35 'rank' => '進榜', 36 - 'remove_from_loved' => '由 :user 從 Loved 中移除。(:text)', 36 + 'remove_from_loved' => '由 :user 從社群喜愛中移除。(:text)', 37 37 'tags_edit' => '標籤由 :old 變更為 :new。', 38 38 39 39 'nsfw_toggle' => [ ··· 66 66 'discussion_restore' => '恢復已刪除的討論', 67 67 'disqualify' => 'Disqualification', 68 68 'genre_edit' => '編輯曲風', 69 - 'issue_reopen' => '重新打開討論', 69 + 'issue_reopen' => '重審問題', 70 70 'issue_resolve' => '討論被解決', 71 71 'kudosu_allow' => '給予 Kudosu', 72 72 'kudosu_deny' => '收回 Kudosu', 73 73 'kudosu_gain' => '獲得 Kudosu', 74 74 'kudosu_lost' => '失去 Kudosu', 75 75 'kudosu_recalculate' => '重新計算 Kudosu', 76 - 'language_edit' => '更改語言', 77 - 'love' => 'Love', 76 + 'language_edit' => '變更語言', 77 + 'love' => '加到社群喜愛', 78 78 'nominate' => '被提名', 79 79 'nomination_reset' => '被取消提名', 80 - 'nomination_reset_received' => '收到提名重置', 80 + 'nomination_reset_received' => '收到提名重設', 81 81 'nsfw_toggle' => '成人內容標記', 82 82 'offset_edit' => '編輯偏移', 83 - 'qualify' => 'Qualification', 83 + 'qualify' => '合格', 84 84 'rank' => '排名', 85 - 'remove_from_loved' => 'Loved 移除', 85 + 'remove_from_loved' => '移除社群喜愛', 86 86 ], 87 87 ];
+9 -9
resources/lang/zh-tw/beatmapsets.php
··· 7 7 'availability' => [ 8 8 'disabled' => '該圖譜現在無法下載。', 9 9 'parts-removed' => '因作者或第三方版權擁有者的要求,故該圖譜已經下架。', 10 - 'more-info' => '點擊這裡查看更多資訊。', 10 + 'more-info' => '按這裡查看更多資訊。', 11 11 'rule_violation' => '已移除此圖譜中部份被評斷為不合適於 osu! 的內容。', 12 12 ], 13 13 ··· 25 25 ], 26 26 27 27 'index' => [ 28 - 'title' => '圖譜列表', 28 + 'title' => '圖譜清單', 29 29 'guest_title' => '圖譜', 30 30 ], 31 31 ··· 41 41 ], 42 42 43 43 'nominate' => [ 44 - 'bng_limited_too_many_rulesets' => '提名者可能無法提名多個遊戲模式。', 44 + 'bng_limited_too_many_rulesets' => '見習提名者無法提名多個規則集的圖譜。', 45 45 'full_nomination_required' => '你必須完全是一個提名者才能展現一個遊戲模式的最終提名。', 46 46 'hybrid_requires_modes' => '包含多個遊戲模式的圖譜至少需要選擇一種遊戲模式進行提名。', 47 47 'incorrect_mode' => '您沒有權限為 :mode 模式提名', 48 - 'invalid_limited_nomination' => '此圖譜有無效的提名而且無法在這個階段被檢驗。', 49 - 'invalid_ruleset' => '這提名有無效的遊戲模式。', 48 + 'invalid_limited_nomination' => '這張圖譜有無效的提名而且無法在這個階段被檢驗。', 49 + 'invalid_ruleset' => '這個提名含有無效的遊戲模式。', 50 50 'too_many' => '提名需求已達成。', 51 51 'too_many_non_main_ruleset' => '非主要遊戲模式的提名需求已經被實現了。', 52 52 53 53 'dialog' => [ 54 54 'confirmation' => '您確定要提名這張圖譜嗎?', 55 - 'different_nominator_warning' => '以其他提名者的身分提名此圖譜會重設提名順序。', 55 + 'different_nominator_warning' => '以其他提名者的身分提名這張圖譜會重設提名順序。', 56 56 'header' => '提名圖譜', 57 57 'hybrid_warning' => '注意: 您只能提名一次,所以請確保您的提名包含所有您想提名的模式。', 58 58 'current_main_ruleset' => '目前遊戲模式為: :ruleset', ··· 100 100 ], 101 101 102 102 'details_date' => [ 103 - 'approved' => '於:timeago批准', 103 + 'approved' => '於 :timeago 核准', 104 104 'loved' => 'loved :timeago', 105 105 'qualified' => '已提名 :timeago', 106 106 'ranked' => '於:timeago進榜', ··· 168 168 'country' => '國內排行榜', 169 169 'error' => '無法載入排行榜', 170 170 'friend' => '好友排名', 171 - 'global' => '世界排名', 171 + 'global' => '全球排名', 172 172 'supporter-link' => '點擊 <a href=":link">這裡</a> 來查看你可以得到的精彩功能!', 173 173 'supporter-only' => '你需要成為贊助者才能查看國內與好友排名!', 174 174 'title' => '排行榜', ··· 224 224 225 225 'status' => [ 226 226 'ranked' => '已進榜', 227 - 'approved' => '已批准', 227 + 'approved' => '已核准', 228 228 'loved' => 'Loved', 229 229 'qualified' => '已提名', 230 230 'wip' => '製作中',
+2 -2
resources/lang/zh-tw/community.php
··· 105 105 ], 106 106 107 107 'skinnables' => [ 108 - 'title' => '更多的定製', 109 - 'description' => '自定義更多的遊戲界面元素,例如主畫面的背景。', 108 + 'title' => '更多的訂製外觀元素', 109 + 'description' => '可自訂更多外觀元素,例如主選單背景。', 110 110 ], 111 111 112 112 'feature_votes' => [
+1 -1
resources/lang/zh-tw/contest.php
··· 70 70 'download' => '下載 .osz 檔案', 71 71 72 72 'wrong_type' => [ 73 - 'art' => '只接受 .jpg 和 .png 格式的文件.', 73 + 'art' => '只接受 .jpg 和 .png 格式的檔案。', 74 74 'beatmap' => '只接受 .osu 格式的文件.', 75 75 'music' => '只接受 .mp3 格式的文件.', 76 76 ],
+2 -2
resources/lang/zh-tw/events.php
··· 17 17 'user_support_again' => '<strong>:user</strong> 又一次支持了 osu! - 感謝您的慷慨捐贈!', 18 18 'user_support_first' => '<strong>:user</strong> 成為了 osu! 贊助者 - 感謝您的慷慨捐贈!', 19 19 'user_support_gift' => '<strong>:user</strong> 成為了 osu! 贊助者 - 來自匿名玩家的贈禮!', 20 - 'username_change' => '<strong>:previousUsername</strong> 將名字改為 <strong><em>:user</strong></em>!', 20 + 'username_change' => '<strong>:previousUsername</strong> 將使用者名稱改為 <strong><em>:user</em></strong>!', 21 21 22 22 'beatmapset_status' => [ 23 - 'approved' => '已批准', 23 + 'approved' => '已核准', 24 24 'loved' => 'loved', 25 25 'qualified' => '已核可', 26 26 'ranked' => '已進榜',
+4
resources/lang/zh-tw/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '圖譜討論', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+1
resources/lang/zh-tw/forum.php
··· 80 80 'confirm_restore' => '確定要復原這個主題嗎?', 81 81 'deleted' => '已刪除的主題', 82 82 'go_to_latest' => '查看最後的貼文', 83 + 'go_to_unread' => '', 83 84 'has_replied' => '您已回覆此主題', 84 85 'in_forum' => '目前看板[ :forum ]', 85 86 'latest_post' => ':when :user',
+1 -1
resources/lang/zh-tw/layout.php
··· 185 185 186 186 'register' => [ 187 187 'download' => '下載', 188 - 'info' => '立即下載 osu! 來創造您專屬的帳號!', 188 + 'info' => '立即下載 osu! 並註冊帳號吧!', 189 189 'title' => "沒有帳號?", 190 190 ], 191 191 ],
+1 -1
resources/lang/zh-tw/mail.php
··· 22 22 'benefit_more' => '將來還會有更多贊助者獨享的功能!', 23 23 'feedback' => "如果您有任何問題或建議,請直接回覆這封郵件。我會盡快回復的!", 24 24 'keep_free' => '多虧了像您這樣的人,讓 osu! 能夠在沒有任何廣告或強制付費的情況下保持遊戲和社群的順利運行。', 25 - 'keep_running' => '您的支持可讓 osu! 持續運行大概 :minutes!雖然看起來沒有太多,但有大家的支持會更長久 :)。', 25 + 'keep_running' => '您的支持可讓 osu! 持續執行大概 :minutes!雖然看起來沒有太多,但有大家的支持會更長久 :)。', 26 26 'subject' => '非常感謝,osu! 愛你哦~', 27 27 'translation' => '以下為社群提供的翻譯,僅供參考:', 28 28
+1 -1
resources/lang/zh-tw/notifications.php
··· 25 25 26 26 'filters' => [ 27 27 '_' => '全部', 28 - 'user' => '個人簡介', 28 + 'user' => '個人檔案', 29 29 'beatmapset' => '圖譜', 30 30 'forum_topic' => '討論區', 31 31 'news_post' => '最新消息',
+2 -2
resources/lang/zh-tw/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '難度', 14 - 'percentile_10' => '前十名的分數', 15 - 'percentile_50' => '前五十名的分數', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [
+6 -6
resources/lang/zh-tw/users.php
··· 183 183 'joined_at' => '註冊時間::date', 184 184 'lastvisit' => '最後登入於::date', 185 185 'lastvisit_online' => '上線中', 186 - 'missingtext' => '未找到的使用者!(或者該使用者已經被封鎖)', 186 + 'missingtext' => '您可能打錯字了!(或者該使用者可能已被封鎖)', 187 187 'origin_country' => '來自 :country', 188 188 'previous_usernames' => '前一個的使用者名稱', 189 189 'plays_with' => '慣用 :devices', ··· 215 215 ], 216 216 'edit' => [ 217 217 'cover' => [ 218 - 'button' => '變更個人簡介封面', 218 + 'button' => '變更個人檔案封面', 219 219 'defaults_info' => '未來將提供更多的封面選項', 220 220 'holdover_remove_confirm' => "上一個橫幅已經無法使用。您無法在切換別的橫幅後選回去了。要繼續嗎?", 221 221 'title' => '封面', ··· 238 238 239 239 'default_playmode' => [ 240 240 'is_default_tooltip' => '預設遊戲模式', 241 - 'set' => '設定 :mode 為個人簡介預設的遊戲模式', 241 + 'set' => '設定 :mode 為個人檔案預設的遊戲模式', 242 242 ], 243 243 244 244 'hue' => [ ··· 367 367 ], 368 368 ], 369 369 'me' => [ 370 - 'title' => '個人簡介!', 370 + 'title' => '個人檔案!', 371 371 ], 372 372 'medals' => [ 373 373 'empty' => "該使用者尚未獲得成就。;_;", ··· 458 458 'title' => '找不到使用者', 459 459 ], 460 460 'page' => [ 461 - 'button' => '編輯個人簡介頁', 462 - 'description' => '<strong>個人介紹</strong> 在您的個人簡介網頁可以自行修改。', 461 + 'button' => '編輯個人檔案頁面', 462 + 'description' => '<strong>個人檔案</strong> 在您的個人檔案頁面可以自行修改。', 463 463 'edit_big' => '編輯', 464 464 'placeholder' => '在這裡編輯', 465 465
+2 -2
resources/lang/zh/accounts.php
··· 11 11 'avatar' => [ 12 12 'title' => '头像', 13 13 'reset' => '重置', 14 - 'rules' => '请确保你的头像符合 :link。<br/>这意味着头像内容必须是<strong>全年龄的</strong>,即没有裸露、亵渎或暗示的内容。', 14 + 'rules' => '请确保你的头像符合:link。<br/>这意味着头像内容必须是<strong>全年龄的</strong>,即没有裸露、亵渎或暗示的内容。', 15 15 'rules_link' => '视觉内容注意事项', 16 16 ], 17 17 ··· 20 20 'new_confirmation' => '确认新邮箱地址', 21 21 'title' => '邮箱', 22 22 'locked' => [ 23 - '_' => '如果您想修改邮箱地址,请联系 :accounts 。', 23 + '_' => '如果您想修改邮箱地址,请联系:accounts。', 24 24 'accounts' => '账号支持团队', 25 25 ], 26 26 ],
+13 -1
resources/lang/zh/authorization.php
··· 60 60 ], 61 61 ], 62 62 63 + 'beatmap_tag' => [ 64 + 'store' => [ 65 + 'no_score' => '', 66 + ], 67 + ], 68 + 63 69 'chat' => [ 64 70 'blocked' => '无法向你已拉黑的用户发消息,或者你已经被对方拉黑了。', 65 71 'friends_only' => '用户拒收了来自陌生人的消息。', 66 72 'moderated' => '该频道现在正在被管制中。', 67 73 'no_access' => '你没有权限访问该频道。', 68 - 'no_announce' => '', 74 + 'no_announce' => '您没有发布公告的权限。', 69 75 'receive_friends_only' => '此用户可能无法回复你,因为你设置了只接受来自好友的消息。', 70 76 'restricted' => '账户被禁言、受限或封禁期间不能发消息。', 71 77 'silenced' => '账户被禁言、受限或封禁期间不能发消息。', ··· 167 173 168 174 'view' => [ 169 175 'admin_only' => '该板块仅限管理员查看。', 176 + ], 177 + ], 178 + 179 + 'room' => [ 180 + 'destroy' => [ 181 + 'not_owner' => '', 170 182 ], 171 183 ], 172 184
+7
resources/lang/zh/beatmap_discussions.php
··· 66 66 'version' => '难度', 67 67 ], 68 68 69 + 'refresh' => [ 70 + 'checking' => '', 71 + 'has_updates' => '', 72 + 'no_updates' => '', 73 + 'updating' => '', 74 + ], 75 + 69 76 'reply' => [ 70 77 'open' => [ 71 78 'guest' => '登录以回复',
+9 -9
resources/lang/zh/beatmapsets.php
··· 191 191 'country' => '您所在的国家/地区中还没有玩家上传过成绩!', 192 192 'friend' => '还没有好友上传成绩!', 193 193 'global' => '还没有玩家上传过成绩,来玩一把?', 194 - 'loading' => '加载分数中...', 194 + 'loading' => '加载成绩中...', 195 195 'unranked' => '未上架 (Unranked) 谱面', 196 196 ], 197 197 'score' => [ 198 - 'first' => '领衔者', 198 + 'first' => '领先', 199 199 'own' => '个人最佳成绩', 200 200 ], 201 201 'supporter_link' => [ ··· 223 223 ], 224 224 225 225 'status' => [ 226 - 'ranked' => 'Ranked', 227 - 'approved' => 'Approved', 228 - 'loved' => 'Loved', 229 - 'qualified' => 'Qualified', 230 - 'wip' => 'WIP', 231 - 'pending' => 'Pending', 232 - 'graveyard' => 'Graveyard', 226 + 'ranked' => '上架', 227 + 'approved' => '达标', 228 + 'loved' => '社区喜爱', 229 + 'qualified' => '过审', 230 + 'wip' => '制作中', 231 + 'pending' => '待定', 232 + 'graveyard' => '坟场', 233 233 ], 234 234 ], 235 235
+1 -1
resources/lang/zh/client_verifications.php
··· 5 5 6 6 return [ 7 7 'completed' => [ 8 - 'home' => '前往看板', 8 + 'home' => '前往主页', 9 9 'logout' => '退出登录', 10 10 'text' => '你现在可以关闭本标签页/窗口了', 11 11 'title' => '已完成 osu! 客户端验证',
+2 -2
resources/lang/zh/errors.php
··· 23 23 ], 24 24 'beatmaps' => [ 25 25 'invalid_mode' => '指定的游戏模式无效。', 26 - 'standard_converts_only' => '此谱面难度在请求的游戏模式下分数不可用。', 26 + 'standard_converts_only' => '此谱面难度在请求的游戏模式下成绩不可用。', 27 27 ], 28 28 'checkout' => [ 29 29 'generic' => '结账时发生了一个错误', 30 30 ], 31 31 'scores' => [ 32 - 'invalid_id' => '无效分数 ID。', 32 + 'invalid_id' => '无效成绩 ID。', 33 33 ], 34 34 'search' => [ 35 35 'default' => '无法获得任何结果,请稍后再试。',
+4
resources/lang/zh/follows.php
··· 35 35 'modding' => [ 36 36 'title' => '谱面讨论', 37 37 ], 38 + 39 + 'store' => [ 40 + 'too_many' => '', 41 + ], 38 42 ];
+2 -1
resources/lang/zh/forum.php
··· 80 80 'confirm_restore' => '恢复此主题?', 81 81 'deleted' => '已删除的主题', 82 82 'go_to_latest' => '查看最新的帖子', 83 + 'go_to_unread' => '', 83 84 'has_replied' => '你已回复过此主题', 84 85 'in_forum' => '在 :forum', 85 86 'latest_post' => ':when :user', ··· 368 369 ], 369 370 370 371 'watch' => [ 371 - 'to_not_watching' => '未订阅', 372 + 'to_not_watching' => '不订阅', 372 373 'to_watching' => '订阅', 373 374 'to_watching_mail' => '订阅并启用邮件通知', 374 375 'tooltip_mail_disable' => '通知已启用。点击禁用',
+1 -1
resources/lang/zh/layout.php
··· 196 196 'follows' => '订阅', 197 197 'friends' => '好友', 198 198 'legacy_score_only_toggle' => 'Lazer 模式', 199 - 'legacy_score_only_toggle_tooltip' => 'Lazer 模式使用来自 Lazer 客户端的新记分算法显示您的分数', 199 + 'legacy_score_only_toggle_tooltip' => 'Lazer 模式使用来自 Lazer 客户端的新记分算法显示您的成绩', 200 200 'logout' => '登出', 201 201 'profile' => '资料', 202 202 'scoring_mode_toggle' => '经典计分',
+3 -3
resources/lang/zh/rankings.php
··· 11 11 12 12 'daily_challenge' => [ 13 13 'beatmap' => '难度', 14 - 'percentile_10' => '前 10% 成绩', 15 - 'percentile_50' => '前 50% 成绩', 14 + 'top_10p' => '', 15 + 'top_50p' => '', 16 16 ], 17 17 18 18 'filter' => [ ··· 65 65 'play_count' => '游戏次数', 66 66 'performance' => '表现', 67 67 'total_score' => '总分', 68 - 'ranked_score' => '进榜总分', 68 + 'ranked_score' => '计分成绩总分', 69 69 'average_score' => '平均得分', 70 70 'average_performance' => '平均表现', 71 71 'ss' => '',
+3 -3
resources/lang/zh/users.php
··· 171 171 ], 172 172 'restricted_banner' => [ 173 173 'title' => '账户进入限制模式!', 174 - 'message' => '处于被限制状态时,你将不能与其他玩家互动,分数只有你自己可见。限制通常是系统自动给予,通常会在 24 小时内解除。:link', 174 + 'message' => '处于被限制状态时,你将不能与其他玩家互动,成绩只有你自己可见。限制通常是系统自动给予,通常会在 24 小时内解除。:link', 175 175 'message_link' => '点击此页了解更多。', 176 176 ], 177 177 'show' => [ ··· 200 200 'daily' => '每日连续完成数', 201 201 'daily_streak_best' => '最佳连续完成天数', 202 202 'daily_streak_current' => '当前连续完成天数', 203 - 'playcount' => '参加次数', 203 + 'playcount' => '总参加天数', 204 204 'title' => '每日\n挑战', 205 205 'top_10p_placements' => '排名达到前 10% 次数', 206 206 'top_50p_placements' => '排名达到前 50% 次数', ··· 487 487 'medals' => '奖章', 488 488 'play_count' => '游戏次数', 489 489 'play_time' => '游戏时间', 490 - 'ranked_score' => '进榜总分', 490 + 'ranked_score' => '计分成绩总分', 491 491 'replays_watched_by_others' => '回放被观看次数', 492 492 'score_ranks' => '得分等级', 493 493 'total_hits' => '总命中次数',
+9
resources/views/admin/pages/root.blade.php
··· 27 27 </a> 28 28 </li> 29 29 </ul> 30 + 31 + <h2 class="title">{{ osu_trans('admin.pages.root.sections.users.header') }}</h2> 32 + <ul> 33 + <li> 34 + <a href="{{ route('user-cover-presets.store') }}"> 35 + {{ osu_trans('admin.pages.root.sections.users.cover_presets') }} 36 + </a> 37 + </li> 38 + </ul> 30 39 </div> 31 40 @endsection
+121
resources/views/teams/show.blade.php
··· 1 + {{-- 2 + Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 3 + See the LICENCE file in the repository root for full licence text. 4 + --}} 5 + @php 6 + use App\Transformers\UserCompactTransformer; 7 + 8 + $userTransformer = new UserCompactTransformer(); 9 + $teamMembers = array_map( 10 + fn ($users) => json_collection($users, $userTransformer, UserCompactTransformer::CARD_INCLUDES), 11 + $team->members->mapToGroups(fn ($member) => [ 12 + $member->user_id === $team->leader_id ? 'leader' : 'member' => $member->user, 13 + ])->all(), 14 + ); 15 + $teamMembers['member'] ??= []; 16 + $headerUrl = $team->header()->url(); 17 + @endphp 18 + 19 + @extends('master', [ 20 + 'titlePrepend' => $team->name, 21 + ]) 22 + 23 + @section('content') 24 + @include('layout._page_header_v4', ['params' => [ 25 + 'theme' => 'team', 26 + 'backgroundImage' => $headerUrl, 27 + ]]) 28 + 29 + <div class="osu-layout osu-layout--full"> 30 + <div class="osu-page osu-page--generic-compact"> 31 + <div class="profile-info profile-info--cover profile-info--team"> 32 + <div 33 + class="profile-info__bg profile-info__bg--team" 34 + {!! background_image($headerUrl) !!} 35 + ></div> 36 + <div class="profile-info__details"> 37 + <div 38 + class="profile-info__avatar" 39 + {!! background_image($team->logo()->url()) !!} 40 + ></div> 41 + <div class="profile-info__info"> 42 + <h1 class="profile-info__name"> 43 + {{ $team->name }} 44 + </h1> 45 + <div class="profile-info__flags"> 46 + <p class="profile-info__flag"> 47 + [{{ $team->short_name }}] 48 + </p> 49 + </div> 50 + </div> 51 + </div> 52 + </div> 53 + <div class="user-profile-pages user-profile-pages--no-tabs"> 54 + <div class="page-extra u-fancy-scrollbar"> 55 + <div class="team-summary"> 56 + <div class="team-summary__sidebar"> 57 + <h2 class="title title--page-extra-small title--page-extra-small-top"> 58 + {{ osu_trans('teams.show.sections.info') }} 59 + </h2> 60 + <div class="team-info-entries"> 61 + <div class="team-info-entry"> 62 + <div class="team-info-entry__title">{{ osu_trans('teams.show.info.created') }}</div> 63 + <div class="team-info-entry__value"> 64 + {{ i18n_date($team->created_at, null, 'year_month') }} 65 + </div> 66 + </div> 67 + @if (present($team->url)) 68 + <div class="team-info-entry"> 69 + <div class="team-info-entry__title">{{ osu_trans('teams.show.info.website') }}</div> 70 + <div class="team-info-entry__value"> 71 + <span class="u-ellipsis-overflow"> 72 + <a href="{{ $team->url }}">{{ $team->url }}</a> 73 + </span> 74 + </div> 75 + </div> 76 + @endif 77 + </div> 78 + <h2 class="title title--page-extra-small title--page-extra-small-top"> 79 + {{ osu_trans('teams.show.sections.members') }} 80 + </h2> 81 + <div class="team-summary__members"> 82 + <div class="team-members team-members--owner"> 83 + <div class="team-members__meta"> 84 + {{ osu_trans('teams.show.members.owner') }} 85 + </div> 86 + <div 87 + class="js-react--user-card u-contents" 88 + data-user="{{ json_encode($teamMembers['leader'][0]) }}" 89 + ></div> 90 + </div> 91 + 92 + <div class="team-members"> 93 + <div class="team-members__meta"> 94 + <span> 95 + {{ osu_trans('teams.show.members.members') }} 96 + </span> 97 + <span> 98 + {{ i18n_number_format(count($teamMembers['member'])) }} 99 + </span> 100 + </div> 101 + @foreach ($teamMembers['member'] as $memberJson) 102 + <div 103 + class="js-react--user-card u-contents" 104 + data-user="{{ json_encode($memberJson) }}" 105 + ></div> 106 + @endforeach 107 + </div> 108 + </div> 109 + </div> 110 + 111 + <div class="team-summary__sidebar team-summary__sidebar--separator"></div> 112 + 113 + <div> 114 + {!! $team->descriptionHtml() !!} 115 + </div> 116 + </div> 117 + </div> 118 + </div> 119 + </div> 120 + </div> 121 + @endsection
+8 -2
routes/web.php
··· 6 6 use App\Http\Middleware\ThrottleRequests; 7 7 8 8 Route::get('wiki/images/{path}', 'WikiController@image')->name('wiki.image')->where('path', '.+'); 9 - Route::get('beatmapsets/discussions/media-url', 'BeatmapDiscussionsController@mediaUrl')->name('beatmapsets.discussions.media-url'); 9 + Route::get('media-url', 'ProxyMediaController')->name('media-url'); 10 10 11 11 Route::group(['middleware' => ['web']], function () { 12 12 Route::group(['as' => 'admin.', 'prefix' => 'admin', 'namespace' => 'Admin'], function () { ··· 41 41 Route::resource('packs', 'BeatmapPacksController', ['only' => ['index', 'show']]); 42 42 43 43 Route::group(['as' => 'beatmaps.', 'prefix' => '{beatmap}'], function () { 44 - Route::get('scores/users/{user}', 'BeatmapsController@userScore'); 45 44 Route::get('scores', 'BeatmapsController@scores')->name('scores'); 46 45 Route::get('solo-scores', 'BeatmapsController@soloScores')->name('solo-scores'); 47 46 Route::post('update-owner', 'BeatmapsController@updateOwner')->name('update-owner'); ··· 296 295 297 296 Route::post('user-cover-presets/batch-activate', 'UserCoverPresetsController@batchActivate')->name('user-cover-presets.batch-activate'); 298 297 Route::resource('user-cover-presets', 'UserCoverPresetsController', ['only' => ['index', 'store', 'update']]); 298 + 299 + Route::resource('teams', 'TeamsController', ['only' => ['show']]); 299 300 300 301 Route::post('users/check-username-availability', 'UsersController@checkUsernameAvailability')->name('users.check-username-availability'); 301 302 Route::get('users/lookup', 'Users\LookupController@index')->name('users.lookup'); ··· 425 426 Route::put('scores/{token}', 'ScoresController@store')->name('scores.store'); 426 427 }); 427 428 }); 429 + 430 + Route::apiResource('tags', 'BeatmapTagsController', ['only' => ['index', 'store', 'destroy']]); 428 431 }); 429 432 }); 430 433 ··· 551 554 Route::resource('users', 'UsersController', ['only' => ['index']]); 552 555 553 556 Route::get('wiki/{locale}/{path}', 'WikiController@show')->name('wiki.show')->where('path', '.+'); 557 + 558 + // Tags 559 + Route::apiResource('tags', 'TagsController', ['only' => ['index']]); 554 560 }); 555 561 }); 556 562
+3
tests/Browser/SanityTest.php
··· 44 44 use App\Models\Score; 45 45 use App\Models\Season; 46 46 use App\Models\Store; 47 + use App\Models\Team; 47 48 use App\Models\Tournament; 48 49 use App\Models\UpdateStream; 49 50 use App\Models\User; ··· 274 275 275 276 self::$scaffolding['daily_challenge_room'] = Room::factory()->create(['category' => 'daily_challenge']); 276 277 PlaylistItem::factory()->create(['room_id' => self::$scaffolding['daily_challenge_room']]); 278 + 279 + self::$scaffolding['team'] = Team::factory()->create(); 277 280 } 278 281 279 282 private static function filterLog(array $log)
+84
tests/Controllers/BeatmapTagsControllerTest.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace Tests\Controllers; 9 + 10 + use App\Models\Beatmap; 11 + use App\Models\BeatmapTag; 12 + use App\Models\Solo\Score; 13 + use App\Models\Tag; 14 + use App\Models\User; 15 + use Illuminate\Testing\Fluent\AssertableJson; 16 + use Tests\TestCase; 17 + 18 + class BeatmapTagsControllerTest extends TestCase 19 + { 20 + private Tag $tag; 21 + private Beatmap $beatmap; 22 + private BeatmapTag $beatmapTag; 23 + 24 + public function testIndex(): void 25 + { 26 + $this->actAsScopedUser(User::factory()->create(), ['public']); 27 + 28 + $this 29 + ->get(route('api.beatmaps.tags.index', ['beatmap' => $this->beatmap->getKey()])) 30 + ->assertSuccessful() 31 + ->assertJson(fn (AssertableJson $json) => 32 + $json 33 + ->where('beatmap_tags.0.id', $this->tag->getKey()) 34 + ->where('beatmap_tags.0.name', $this->tag->name) 35 + ->where('beatmap_tags.0.count', 1) 36 + ->etc()); 37 + } 38 + 39 + public function testStore(): void 40 + { 41 + $user = User::factory() 42 + ->has(Score::factory()->state(['beatmap_id' => $this->beatmap]), 'soloScores') 43 + ->create(); 44 + 45 + $this->expectCountChange(fn () => BeatmapTag::count(), 1); 46 + 47 + $this->actAsScopedUser($user); 48 + $this 49 + ->post(route('api.beatmaps.tags.store', ['beatmap' => $this->beatmap->getKey()]), ['tag_id' => $this->tag->getKey()]) 50 + ->assertSuccessful(); 51 + } 52 + 53 + public function testStoreNoScore(): void 54 + { 55 + $this->expectCountChange(fn () => BeatmapTag::count(), 0); 56 + 57 + $this->actAsScopedUser(User::factory()->create()); 58 + $this 59 + ->post(route('api.beatmaps.tags.store', ['beatmap' => $this->beatmap->getKey()]), ['tag_id' => $this->tag->getKey()]) 60 + ->assertForbidden(); 61 + } 62 + 63 + public function testDestroy(): void 64 + { 65 + $this->expectCountChange(fn () => BeatmapTag::count(), -1); 66 + 67 + $this->actAsScopedUser($this->beatmapTag->user); 68 + $this 69 + ->delete(route('api.beatmaps.tags.destroy', ['beatmap' => $this->beatmap->getKey(), 'tag' => $this->tag->getKey()])) 70 + ->assertSuccessful(); 71 + } 72 + 73 + protected function setUp(): void 74 + { 75 + parent::setUp(); 76 + 77 + $this->tag = Tag::factory()->create(); 78 + $this->beatmap = Beatmap::factory()->create(); 79 + $this->beatmapTag = BeatmapTag::factory()->create([ 80 + 'tag_id' => $this->tag, 81 + 'beatmap_id' => $this->beatmap, 82 + ]); 83 + } 84 + }
+30
tests/Controllers/TagsControllerTest.php
··· 1 + <?php 2 + 3 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4 + // See the LICENCE file in the repository root for full licence text. 5 + 6 + declare(strict_types=1); 7 + 8 + namespace Tests\Controllers; 9 + 10 + use App\Models\Tag; 11 + use App\Models\User; 12 + use Illuminate\Testing\Fluent\AssertableJson; 13 + use Tests\TestCase; 14 + 15 + class TagsControllerTest extends TestCase 16 + { 17 + public function testIndex(): void 18 + { 19 + $tag = Tag::factory()->create(); 20 + $this->actAsScopedUser(User::factory()->create(), ['public']); 21 + 22 + $this 23 + ->get(route('api.tags.index')) 24 + ->assertSuccessful() 25 + ->assertJson(fn (AssertableJson $json) => 26 + $json 27 + ->where('tags.0.id', $tag->getKey()) 28 + ->etc()); 29 + } 30 + }
+1 -1
tests/Libraries/bbcode_examples/basic_img.html
··· 1 - <span class="proportional-container" style="width:1280px;"><span class="proportional-container__height" style="padding-bottom:56.25%;"><img class="proportional-container__content" src="https://assets.ppy.sh/osu-web-test-resources/placeholder-1280x720.jpg" alt="" loading="lazy" /></span></span> 1 + <img alt="" src="https://assets.ppy.sh/osu-web-test-resources/placeholder-1280x720.jpg" loading="lazy" style="aspect-ratio: 1.7778; width: 1280px;" />
+58
tests/api_routes.json
··· 174 174 "scopes": [] 175 175 }, 176 176 { 177 + "uri": "api/v2/beatmaps/{beatmap}/tags", 178 + "methods": [ 179 + "GET", 180 + "HEAD" 181 + ], 182 + "controller": "App\\Http\\Controllers\\BeatmapTagsController@index", 183 + "middlewares": [ 184 + "App\\Http\\Middleware\\ThrottleRequests:1200,1,api:", 185 + "App\\Http\\Middleware\\RequireScopes", 186 + "App\\Http\\Middleware\\RequireScopes:public" 187 + ], 188 + "scopes": [ 189 + "public" 190 + ] 191 + }, 192 + { 193 + "uri": "api/v2/beatmaps/{beatmap}/tags", 194 + "methods": [ 195 + "POST" 196 + ], 197 + "controller": "App\\Http\\Controllers\\BeatmapTagsController@store", 198 + "middlewares": [ 199 + "App\\Http\\Middleware\\ThrottleRequests:1200,1,api:", 200 + "App\\Http\\Middleware\\RequireScopes", 201 + "Illuminate\\Auth\\Middleware\\Authenticate" 202 + ], 203 + "scopes": [] 204 + }, 205 + { 206 + "uri": "api/v2/beatmaps/{beatmap}/tags/{tag}", 207 + "methods": [ 208 + "DELETE" 209 + ], 210 + "controller": "App\\Http\\Controllers\\BeatmapTagsController@destroy", 211 + "middlewares": [ 212 + "App\\Http\\Middleware\\ThrottleRequests:1200,1,api:", 213 + "App\\Http\\Middleware\\RequireScopes", 214 + "Illuminate\\Auth\\Middleware\\Authenticate" 215 + ], 216 + "scopes": [] 217 + }, 218 + { 177 219 "uri": "api/v2/beatmaps", 178 220 "methods": [ 179 221 "GET", ··· 1419 1461 "App\\Http\\Middleware\\RequireScopes" 1420 1462 ], 1421 1463 "scopes": [] 1464 + }, 1465 + { 1466 + "uri": "api/v2/tags", 1467 + "methods": [ 1468 + "GET", 1469 + "HEAD" 1470 + ], 1471 + "controller": "App\\Http\\Controllers\\TagsController@index", 1472 + "middlewares": [ 1473 + "App\\Http\\Middleware\\ThrottleRequests:1200,1,api:", 1474 + "App\\Http\\Middleware\\RequireScopes", 1475 + "App\\Http\\Middleware\\RequireScopes:public" 1476 + ], 1477 + "scopes": [ 1478 + "public" 1479 + ] 1422 1480 }, 1423 1481 { 1424 1482 "uri": "api/v2/beatmapsets/{beatmapset}/download",
+27 -8
yarn.lock
··· 658 658 dependencies: 659 659 "@types/unist" "*" 660 660 661 - "@types/hotwired__turbo@^8.0.1": 662 - version "8.0.1" 663 - resolved "https://registry.yarnpkg.com/@types/hotwired__turbo/-/hotwired__turbo-8.0.1.tgz#ac0605f3fd4e725f71101be02d2e9d5314afa669" 664 - integrity sha512-EloDlDDxlicl22+gFc77f7j16b8nCUvy6iyCtpICTlofAJfMCfnXNC8nYXCnVApes3BtWklAc2f3RKQgpaaFRQ== 661 + "@types/hotwired__turbo@^8.0.2": 662 + version "8.0.2" 663 + resolved "https://registry.yarnpkg.com/@types/hotwired__turbo/-/hotwired__turbo-8.0.2.tgz#db683460bb32a21715a5cf1f07a7de81d1c3124a" 664 + integrity sha512-fFWI/JNSTVKTPliSOV4fdeC3Kt3FUTbRYkvtF7QPCkqR51+AJWIiX0T5sJXwUnjL9j43tzfBXPZ2jEsBqw8/Bg== 665 665 666 666 "@types/is-hotkey@^0.1.1": 667 667 version "0.1.1" ··· 7122 7122 dependencies: 7123 7123 safe-buffer "~5.2.0" 7124 7124 7125 - "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: 7126 - name strip-ansi-cjs 7125 + "strip-ansi-cjs@npm:strip-ansi@^6.0.1": 7127 7126 version "6.0.1" 7128 7127 resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 7129 7128 integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== ··· 7143 7142 integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== 7144 7143 dependencies: 7145 7144 ansi-regex "^3.0.0" 7145 + 7146 + strip-ansi@^6.0.0, strip-ansi@^6.0.1: 7147 + version "6.0.1" 7148 + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 7149 + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 7150 + dependencies: 7151 + ansi-regex "^5.0.1" 7146 7152 7147 7153 strip-ansi@^7.0.1: 7148 7154 version "7.1.0" ··· 7605 7611 resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 7606 7612 integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= 7607 7613 7614 + uuid@^11.0.3: 7615 + version "11.0.3" 7616 + resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.0.3.tgz#248451cac9d1a4a4128033e765d137e2b2c49a3d" 7617 + integrity sha512-d0z310fCWv5dJwnX1Y/MncBAqGMKEzlBb1AOf7z9K8ALnd0utBX/msg/fA0+sbyN1ihbMsLhrBlnl1ak7Wa0rg== 7618 + 7608 7619 uuid@^8.3.0: 7609 7620 version "8.3.2" 7610 7621 resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" ··· 7813 7824 resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" 7814 7825 integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== 7815 7826 7816 - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: 7817 - name wrap-ansi-cjs 7827 + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": 7818 7828 version "7.0.0" 7819 7829 resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 7820 7830 integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== ··· 7830 7840 dependencies: 7831 7841 string-width "^1.0.1" 7832 7842 strip-ansi "^3.0.1" 7843 + 7844 + wrap-ansi@^7.0.0: 7845 + version "7.0.0" 7846 + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 7847 + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 7848 + dependencies: 7849 + ansi-styles "^4.0.0" 7850 + string-width "^4.1.0" 7851 + strip-ansi "^6.0.0" 7833 7852 7834 7853 wrap-ansi@^8.1.0: 7835 7854 version "8.1.0"