the browser-facing portion of osu!
0
fork

Configure Feed

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

Merge remote-tracking branch 'origin/master' into user-table-cover

nanaya 75b81152 66ec7869

+1600 -855
+1
.dockerignore
··· 1 1 .docker/ 2 2 .env* 3 3 .git/ 4 + .webpack-build-notifier-config.js 4 5 Dockerfile 5 6 bootstrap/cache/ 6 7 bootstrap/compiler.php
+1 -1
.github/workflows/lint.yml
··· 27 27 uses: shivammathur/setup-php@v2 28 28 with: 29 29 tools: composer:v2, cs2pr 30 - php-version: '8.2' 30 + php-version: '8.3' 31 31 coverage: none 32 32 33 33 - name: Get composer cache directory
+1 -1
.github/workflows/tests.yml
··· 94 94 tests: 95 95 strategy: 96 96 matrix: 97 - php: ['8.2'] 97 + php: ['8.3'] 98 98 name: Tests 99 99 runs-on: ubuntu-latest 100 100 steps:
+29 -30
Dockerfile.deployment
··· 7 7 RUN echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list 8 8 9 9 RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg 10 - RUN echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" > /etc/apt/sources.list.d/nodesource.list 10 + RUN echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" > /etc/apt/sources.list.d/nodesource.list 11 11 12 12 RUN apt-get update 13 13 RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \ 14 14 build-essential \ 15 15 git \ 16 16 nodejs \ 17 - php8.2 \ 18 - php8.2-common \ 19 - php8.2-curl \ 20 - php8.2-ds \ 21 - php8.2-gd \ 22 - php8.2-intl \ 23 - php8.2-mbstring \ 24 - php8.2-mysql \ 25 - php8.2-redis \ 26 - php8.2-sqlite3 \ 27 - php8.2-swoole \ 28 - php8.2-tokenizer \ 29 - php8.2-xml \ 30 - php8.2-zip \ 17 + php8.3 \ 18 + php8.3-common \ 19 + php8.3-curl \ 20 + php8.3-ds \ 21 + php8.3-gd \ 22 + php8.3-intl \ 23 + php8.3-mbstring \ 24 + php8.3-mysql \ 25 + php8.3-redis \ 26 + php8.3-sqlite3 \ 27 + php8.3-swoole \ 28 + php8.3-tokenizer \ 29 + php8.3-xml \ 30 + php8.3-zip \ 31 31 zip 32 32 33 33 RUN npm install -g yarn ··· 55 55 RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \ 56 56 jhead \ 57 57 nginx \ 58 - php8.2 \ 59 - php8.2-common \ 60 - php8.2-curl \ 61 - php8.2-ds \ 62 - php8.2-gd \ 63 - php8.2-intl \ 64 - php8.2-mbstring \ 65 - php8.2-mysql \ 66 - php8.2-redis \ 67 - php8.2-sqlite3 \ 68 - php8.2-swoole \ 69 - php8.2-tokenizer \ 70 - php8.2-xml \ 71 - php8.2-zip 58 + php8.3 \ 59 + php8.3-common \ 60 + php8.3-curl \ 61 + php8.3-ds \ 62 + php8.3-gd \ 63 + php8.3-intl \ 64 + php8.3-mbstring \ 65 + php8.3-mysql \ 66 + php8.3-redis \ 67 + php8.3-sqlite3 \ 68 + php8.3-swoole \ 69 + php8.3-tokenizer \ 70 + php8.3-xml \ 71 + php8.3-zip 72 72 73 73 RUN rm -f /var/log/nginx/access.log /var/log/nginx/error.log && \ 74 74 ln -s /dev/stdout /var/log/nginx/access.log && \ ··· 109 109 EXPOSE 8080 110 110 111 111 ENTRYPOINT ["/app/docker/deployment/entrypoint.sh"] 112 - CMD ["octane"]
+15 -18
Dockerfile.development
··· 7 7 RUN echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list 8 8 9 9 RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg 10 - RUN echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" > /etc/apt/sources.list.d/nodesource.list 10 + RUN echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" > /etc/apt/sources.list.d/nodesource.list 11 11 12 12 RUN apt-get update 13 13 RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \ ··· 17 17 git \ 18 18 gosu \ 19 19 jhead \ 20 - libglib2.0-0 \ 21 - libnss3 \ 22 - netcat-openbsd \ 23 20 nodejs \ 24 - php8.2 \ 25 - php8.2-common \ 26 - php8.2-curl \ 27 - php8.2-ds \ 28 - php8.2-gd \ 29 - php8.2-intl \ 30 - php8.2-mbstring \ 31 - php8.2-mysql \ 32 - php8.2-redis \ 33 - php8.2-sqlite3 \ 34 - php8.2-swoole \ 35 - php8.2-tokenizer \ 36 - php8.2-xml \ 37 - php8.2-zip \ 21 + php8.3 \ 22 + php8.3-common \ 23 + php8.3-curl \ 24 + php8.3-ds \ 25 + php8.3-gd \ 26 + php8.3-intl \ 27 + php8.3-mbstring \ 28 + php8.3-mysql \ 29 + php8.3-redis \ 30 + php8.3-sqlite3 \ 31 + php8.3-swoole \ 32 + php8.3-tokenizer \ 33 + php8.3-xml \ 34 + php8.3-zip \ 38 35 zip 39 36 40 37 RUN npm install -g yarn
+2
app/Http/Controllers/BeatmapPacksController.php
··· 86 86 * user_completion_data | 87 87 * 88 88 * @urlParam pack string required The tag of the beatmap pack to be returned. 89 + * 90 + * @queryParam legacy_only integer Whether or not to consider lazer scores for user completion data. Defaults to 0. Example: 0 89 91 */ 90 92 public function show($idOrTag) 91 93 {
+3 -1
app/Http/Controllers/BeatmapsController.php
··· 341 341 * 342 342 * @urlParam beatmap integer required Id of the [Beatmap](#beatmap). 343 343 * 344 + * @queryParam legacy_only integer Whether or not to exclude lazer scores. Defaults to 0. Example: 0 344 345 * @queryParam mode The [Ruleset](#ruleset) to get scores for. 345 346 * @queryParam mods An array of matching Mods, or none // TODO. 346 347 * @queryParam type Beatmap score ranking type // TODO. ··· 368 369 * 369 370 * @urlParam beatmap integer required Id of the [Beatmap](#beatmap). 370 371 * 371 - * @queryParam legacy_only Set to true to only return legacy scores. Example: 0 372 372 * @queryParam mode The [Ruleset](#ruleset) to get scores for. 373 373 * @queryParam mods An array of matching Mods, or none // TODO. 374 374 * @queryParam type Beatmap score ranking type // TODO. ··· 421 421 * @urlParam beatmap integer required Id of the [Beatmap](#beatmap). 422 422 * @urlParam user integer required Id of the [User](#user). 423 423 * 424 + * @queryParam legacy_only integer Whether or not to exclude lazer scores. Defaults to 0. Example: 0 424 425 * @queryParam mode The [Ruleset](#ruleset) to get scores for. 425 426 * @queryParam mods An array of matching Mods, or none // TODO. 426 427 */ ··· 479 480 * @urlParam beatmap integer required Id of the [Beatmap](#beatmap). 480 481 * @urlParam user integer required Id of the [User](#user). 481 482 * 483 + * @queryParam legacy_only integer Whether or not to exclude lazer scores. Defaults to 0. Example: 0 482 484 * @queryParam mode The [Ruleset](#ruleset) to get scores for. Defaults to beatmap mode 483 485 */ 484 486 public function userScoreAll($beatmapId, $userId)
+11 -2
app/Http/Controllers/Multiplayer/Rooms/Playlist/ScoresController.php
··· 5 5 6 6 namespace App\Http\Controllers\Multiplayer\Rooms\Playlist; 7 7 8 + use App\Exceptions\InvariantException; 8 9 use App\Http\Controllers\Controller as BaseController; 9 10 use App\Libraries\ClientCheck; 10 11 use App\Models\Multiplayer\PlaylistItem; ··· 163 164 */ 164 165 public function store($roomId, $playlistId) 165 166 { 167 + if (!$GLOBALS['cfg']['osu']['scores']['submission_enabled']) { 168 + abort(422, osu_trans('score_tokens.create.submission_disabled')); 169 + } 170 + 166 171 $room = Room::findOrFail($roomId); 167 - $playlistItem = $room->playlist()->where('id', $playlistId)->firstOrFail(); 168 - $user = auth()->user(); 172 + $playlistItem = $room->playlist()->findOrFail($playlistId); 173 + $user = \Auth::user(); 169 174 $request = \Request::instance(); 170 175 $params = $request->all(); 176 + 177 + if (get_string($params['beatmap_hash'] ?? null) !== $playlistItem->beatmap->checksum) { 178 + throw new InvariantException(osu_trans('score_tokens.create.beatmap_hash_invalid')); 179 + } 171 180 172 181 $buildId = ClientCheck::parseToken($request)['buildId']; 173 182
+19
app/Http/Controllers/ScoresController.php
··· 7 7 8 8 use App\Models\Score\Best\Model as ScoreBest; 9 9 use App\Models\Solo\Score as SoloScore; 10 + use App\Models\UserCountryHistory; 10 11 use App\Transformers\ScoreTransformer; 11 12 use App\Transformers\UserCompactTransformer; 13 + use Carbon\CarbonImmutable; 12 14 13 15 class ScoresController extends Controller 14 16 { ··· 48 50 $file = $score->getReplayFile(); 49 51 if ($file === null) { 50 52 abort(404); 53 + } 54 + 55 + if (\Auth::user()->getKey() !== $score->user_id) { 56 + $score->user->statistics($score->getMode(), true)->increment('replay_popularity'); 57 + 58 + $month = CarbonImmutable::now(); 59 + $currentMonth = UserCountryHistory::formatDate($month); 60 + 61 + $score->user->replaysWatchedCounts() 62 + ->firstOrCreate(['year_month' => $currentMonth], ['count' => 0]) 63 + ->incrementInstance('count'); 64 + 65 + if ($score instanceof ScoreBest) { 66 + $score->replayViewCount() 67 + ->firstOrCreate([], ['play_count' => 0]) 68 + ->incrementInstance('play_count'); 69 + } 51 70 } 52 71 53 72 static $responseHeaders = [
+1
app/Http/Controllers/UsersController.php
··· 503 503 * @urlParam user integer required Id of the user. Example: 1 504 504 * @urlParam type string required Score type. Must be one of these: `best`, `firsts`, `recent`. Example: best 505 505 * 506 + * @queryParam legacy_only integer Whether or not to exclude lazer scores. Defaults to 0. Example: 0 506 507 * @queryParam include_fails Only for recent scores, include scores of failed plays. Set to 1 to include them. Defaults to 0. Example: 0 507 508 * @queryParam mode [Ruleset](#ruleset) of the scores to be returned. Defaults to the specified `user`'s mode. Example: osu 508 509 * @queryParam limit Maximum number of results.
+1
app/Jobs/Notifications/UserAchievementUnlock.php
··· 45 45 'cover_url' => $this->achievement->iconUrl(), 46 46 'slug' => $this->achievement->slug, 47 47 'title' => $this->achievement->name, 48 + 'description' => $this->achievement->description, 48 49 'user_id' => $this->source->getKey(), 49 50 ]; 50 51 }
+3 -2
app/Libraries/Elasticsearch/Hit.php
··· 44 44 return array_map(function ($text) use ($limit) { 45 45 // ensure cutoff is after the end of the highlight, if any. 46 46 // TODO: look at storing offsets in index and using those to build highlights instead? 47 - $cap = strpos($text, '</em>') + 5; 47 + $cap = mb_strrpos($text, '</em>'); 48 + $cap = $cap === false ? false : $cap + 5; 48 49 49 - return str_limit($text, $cap === false ? $limit : max($cap, $limit)); 50 + return truncate_inclusive($text, $cap === false ? $limit : max($cap, $limit)); 50 51 }, $highlights); 51 52 } 52 53
+2 -10
app/Libraries/LocaleMeta.php
··· 9 9 10 10 class LocaleMeta 11 11 { 12 + // Keys must be a superset of app.available_locales. Additional locales are 13 + // available for use only in wiki articles 12 14 const MAPPINGS = [ 13 15 'ar' => [ 14 16 'flag' => 'SA', ··· 143 145 'flag' => 'TH', 144 146 'name' => 'ไทย', 145 147 ], 146 - 'tl' => [ 147 - 'flag' => 'PH', 148 - 'name' => 'Tagalog', 149 - ], 150 148 'tr' => [ 151 149 'flag' => 'TR', 152 150 'name' => 'Türkçe', ··· 163 161 'flag' => 'CN', 164 162 'moment' => 'zh-cn', 165 163 'name' => '简体中文', 166 - ], 167 - 'zh-hk' => [ 168 - 'flag' => 'HK', 169 - 'html' => 'zh-HK', 170 - 'laravelPlural' => 'zh_HK', 171 - 'name' => '繁體中文(香港)', 172 164 ], 173 165 'zh-tw' => [ 174 166 'flag' => 'TW',
+1 -1
app/Libraries/Search/BeatmapsetSearch.php
··· 314 314 'cs' => ['field' => 'beatmaps.diff_size', 'type' => 'range'], 315 315 'difficultyRating' => ['field' => 'beatmaps.difficultyrating', 'type' => 'range'], 316 316 'drain' => ['field' => 'beatmaps.diff_drain', 'type' => 'range'], 317 - 'hitLength' => ['field' => 'beatmaps.hit_length', 'type' => 'range'], 317 + 'totalLength' => ['field' => 'beatmaps.total_length', 'type' => 'range'], 318 318 'statusRange' => ['field' => 'beatmaps.approved', 'type' => 'range'], 319 319 'updated' => ['field' => 'last_update', 'type' => 'range'], 320 320 // (unsupported) 'divisor' => ['field' => ???, 'type' => 'range'],
+1 -1
app/Libraries/Search/BeatmapsetSearchParams.php
··· 43 43 public ?string $status = null; 44 44 public ?string $title = null; 45 45 public ?array $statusRange = null; 46 - public ?array $hitLength = null; 46 + public ?array $totalLength = null; 47 47 public ?array $updated = null; 48 48 public ?User $user = null; 49 49
+1 -1
app/Libraries/Search/BeatmapsetSearchRequestParams.php
··· 222 222 'dr' => 'drain', 223 223 'featured_artist' => 'featuredArtist', 224 224 'keys' => 'keys', 225 - 'length' => 'hitLength', 225 + 'length' => 'totalLength', 226 226 'od' => 'accuracy', 227 227 'ranked' => 'ranked', 228 228 'source' => 'source',
+1 -1
app/Libraries/Search/WikiSuggestionsRequestParams.php
··· 11 11 { 12 12 parent::__construct(); 13 13 14 - $this->queryString = trim($request['query'] ?? null); 14 + $this->queryString = trim(get_string($request['query'] ?? null) ?? ''); 15 15 } 16 16 }
+1
app/Models/CountryStatistics.php
··· 31 31 { 32 32 $stats = UserStatistics\Model::getClass(Beatmap::modeStr($modeInt)) 33 33 ::where('country_acronym', $countryAcronym) 34 + ->where('rank_score', '>', 0) 34 35 ->whereHas('user', function ($userQuery) { 35 36 return $userQuery->default(); 36 37 })->select(DB::raw('sum(ranked_score) AS ranked_score, sum(playcount) AS playcount, count(*) AS usercount, sum(rank_score) AS rank_score'))
+7 -3
app/Models/Multiplayer/PlaylistItemUserHighScore.php
··· 112 112 $this->incrementInstance('attempts'); 113 113 } 114 114 115 - public function updateWithScoreLink(ScoreLink $scoreLink): void 115 + public function updateWithScoreLink(ScoreLink $scoreLink): bool 116 116 { 117 117 $score = $scoreLink->score; 118 118 119 - $this->fill([ 119 + if ($score === null || !$score->passed || $score->total_score < $this->total_score) { 120 + return false; 121 + } 122 + 123 + return $this->fill([ 120 124 'accuracy' => $score->accuracy, 121 125 'pp' => $score->pp, 122 - 'score_id' => $scoreLink->getKey(), 126 + 'score_id' => $score->getKey(), 123 127 'total_score' => $score->total_score, 124 128 ])->save(); 125 129 }
+27 -31
app/Models/Multiplayer/UserScoreAggregate.php
··· 72 72 73 73 public function addScoreLink(ScoreLink $scoreLink, ?PlaylistItemUserHighScore $highestScore = null) 74 74 { 75 - return $this->getConnection()->transaction(function () use ($highestScore, $scoreLink) { 76 - $score = $scoreLink->score; 77 - if ($score === null) { 78 - return false; 79 - } 80 - 81 - $highestScore ??= PlaylistItemUserHighScore::lookupOrDefault( 75 + return $this->getConnection()->transaction(function () use ($scoreLink) { 76 + $isNewHighScore = PlaylistItemUserHighScore::lookupOrDefault( 82 77 $scoreLink->user_id, 83 78 $scoreLink->playlist_item_id, 84 - ); 79 + )->updateWithScoreLink($scoreLink); 85 80 86 - if ($score->passed && $score->total_score > $highestScore->total_score) { 87 - $this->updateUserTotal($scoreLink, $highestScore); 88 - $highestScore->updateWithScoreLink($scoreLink); 81 + if ($isNewHighScore) { 82 + $this->refreshStatistics(); 89 83 } 90 84 91 85 return true; ··· 137 131 ->with('score') 138 132 ->get(); 139 133 foreach ($scoreLinks as $scoreLink) { 140 - $this->addScoreLink( 141 - $scoreLink, 142 - $playlistItemAggs[$scoreLink->playlist_item_id] ?? null, 143 - ); 134 + ($playlistItemAggs[$scoreLink->playlist_item_id] 135 + ?? PlaylistItemUserHighScore::lookupOrDefault( 136 + $scoreLink->user_id, 137 + $scoreLink->playlist_item_id, 138 + ) 139 + )->updateWithScoreLink($scoreLink); 144 140 } 141 + $this->refreshStatistics(); 145 142 $this->save(); 146 143 }); 147 144 } ··· 210 207 return 1 + $query->count(); 211 208 } 212 209 213 - private function updateUserTotal(ScoreLink $currentScoreLink, PlaylistItemUserHighScore $prev) 210 + private function refreshStatistics(): void 214 211 { 215 - if ($prev->score_id !== null) { 216 - $this->total_score -= $prev->total_score; 217 - $this->accuracy -= $prev->accuracy; 218 - $this->pp -= $prev->pp; 219 - $this->completed--; 220 - } 212 + $agg = PlaylistItemUserHighScore 213 + ::whereHas('playlistItem', fn ($q) => $q->where('room_id', $this->room_id)) 214 + ->selectRaw(' 215 + SUM(accuracy) AS accuracy_sum, 216 + SUM(total_score) AS total_score_sum, 217 + COUNT(*) AS completed, 218 + MAX(score_id) AS last_score_id 219 + ')->firstWhere('user_id', $this->user_id); 221 220 222 - $current = $currentScoreLink->score; 223 - 224 - $this->total_score += $current->total_score; 225 - $this->accuracy += $current->accuracy; 226 - $this->pp += $current->pp; 227 - $this->completed++; 228 - $this->last_score_id = $currentScoreLink->getKey(); 229 - 230 - $this->save(); 221 + $this->fill([ 222 + 'accuracy' => $agg->getRawAttribute('accuracy_sum') ?? 0, 223 + 'completed' => $agg->getRawAttribute('completed') ?? 0, 224 + 'last_score_id' => $agg->getRawAttribute('last_score_id'), 225 + 'total_score' => $agg->getRawAttribute('total_score_sum') ?? 0, 226 + ])->save(); 231 227 } 232 228 }
+1
app/Models/ReplayViewCount/Model.php
··· 13 13 protected $primaryKey = 'score_id'; 14 14 15 15 public $timestamps = false; 16 + public $incrementing = false; 16 17 17 18 protected static function suffix() 18 19 {
+1 -1
app/Models/Traits/Scoreable.php
··· 93 93 $this->rank = match (true) { 94 94 $ratio300 === 1 => 95 95 $this->shouldHaveHiddenRank() ? 'XH' : 'X', 96 - $ratio300 > 0.9 && $ratio50 < 0.01 && $countMiss === 0 => 96 + $ratio300 > 0.9 && $ratio50 <= 0.01 && $countMiss === 0 => 97 97 $this->shouldHaveHiddenRank() ? 'SH' : 'S', 98 98 ($ratio300 > 0.8 && $countMiss === 0) || $ratio300 > 0.9 => 99 99 'A',
+9
app/helpers.php
··· 449 449 return $text; 450 450 } 451 451 452 + function truncate_inclusive(string $text, int $limit): string 453 + { 454 + if (mb_strlen($text) > $limit) { 455 + return mb_substr($text, 0, $limit).'...'; 456 + } 457 + 458 + return $text; 459 + } 460 + 452 461 function json_date(?DateTime $date): ?string 453 462 { 454 463 return $date === null ? null : $date->format('Y-m-d');
+1 -1
composer.json
··· 90 90 "sort-packages": true, 91 91 "optimize-autoloader": true, 92 92 "platform": { 93 - "php": "8.2.0" 93 + "php": "8.3.0" 94 94 }, 95 95 "allow-plugins": { 96 96 "composer/package-versions-deprecated": true,
+8 -8
composer.lock
··· 4 4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 5 "This file is @generated automatically" 6 6 ], 7 - "content-hash": "0f9e7b546f1c77a54bd518d7918c1e4d", 7 + "content-hash": "ac8c48619f98cf4c57d2cd95737a86b7", 8 8 "packages": [ 9 9 { 10 10 "name": "anhskohbo/no-captcha", ··· 5286 5286 }, 5287 5287 { 5288 5288 "name": "nette/utils", 5289 - "version": "v4.0.3", 5289 + "version": "v4.0.4", 5290 5290 "source": { 5291 5291 "type": "git", 5292 5292 "url": "https://github.com/nette/utils.git", 5293 - "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" 5293 + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" 5294 5294 }, 5295 5295 "dist": { 5296 5296 "type": "zip", 5297 - "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", 5298 - "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", 5297 + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", 5298 + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", 5299 5299 "shasum": "" 5300 5300 }, 5301 5301 "require": { ··· 5366 5366 ], 5367 5367 "support": { 5368 5368 "issues": "https://github.com/nette/utils/issues", 5369 - "source": "https://github.com/nette/utils/tree/v4.0.3" 5369 + "source": "https://github.com/nette/utils/tree/v4.0.4" 5370 5370 }, 5371 - "time": "2023-10-29T21:02:13+00:00" 5371 + "time": "2024-01-17T16:50:36+00:00" 5372 5372 }, 5373 5373 { 5374 5374 "name": "nikic/php-parser", ··· 13923 13923 }, 13924 13924 "platform-dev": [], 13925 13925 "platform-overrides": { 13926 - "php": "8.2.0" 13926 + "php": "8.3.0" 13927 13927 }, 13928 13928 "plugin-api-version": "2.6.0" 13929 13929 }
+29 -9
database/mods.json
··· 2710 2710 "Name": "Fade In", 2711 2711 "Description": "Keys appear out of nowhere!", 2712 2712 "Type": "DifficultyIncrease", 2713 - "Settings": [ 2714 - { 2715 - "Name": "coverage", 2716 - "Type": "number", 2717 - "Label": "Coverage", 2718 - "Description": "The proportion of playfield height that notes will be hidden for." 2719 - } 2720 - ], 2713 + "Settings": [], 2721 2714 "IncompatibleMods": [ 2715 + "FI", 2722 2716 "HD", 2717 + "CO", 2723 2718 "FL" 2724 2719 ], 2725 2720 "RequiresConfiguration": false, ··· 2733 2728 "Name": "Hidden", 2734 2729 "Description": "Keys fade out before you hit them!", 2735 2730 "Type": "DifficultyIncrease", 2731 + "Settings": [], 2732 + "IncompatibleMods": [ 2733 + "FI", 2734 + "CO", 2735 + "FL" 2736 + ], 2737 + "RequiresConfiguration": false, 2738 + "UserPlayable": true, 2739 + "ValidForMultiplayer": true, 2740 + "ValidForMultiplayerAsFreeMod": true, 2741 + "AlwaysValidForSubmission": false 2742 + }, 2743 + { 2744 + "Acronym": "CO", 2745 + "Name": "Cover", 2746 + "Description": "Decrease the playfield's viewing area.", 2747 + "Type": "DifficultyIncrease", 2736 2748 "Settings": [ 2737 2749 { 2738 2750 "Name": "coverage", 2739 2751 "Type": "number", 2740 2752 "Label": "Coverage", 2741 2753 "Description": "The proportion of playfield height that notes will be hidden for." 2754 + }, 2755 + { 2756 + "Name": "direction", 2757 + "Type": "string", 2758 + "Label": "Direction", 2759 + "Description": "The direction on which the cover is applied" 2742 2760 } 2743 2761 ], 2744 2762 "IncompatibleMods": [ 2745 2763 "FI", 2764 + "HD", 2746 2765 "FL" 2747 2766 ], 2748 2767 "RequiresConfiguration": false, ··· 2772 2791 ], 2773 2792 "IncompatibleMods": [ 2774 2793 "FI", 2775 - "HD" 2794 + "HD", 2795 + "CO" 2776 2796 ], 2777 2797 "RequiresConfiguration": false, 2778 2798 "UserPlayable": true,
+11 -7
docker-compose.yml
··· 1 - version: '3.4' 2 - 3 1 x-env: &x-env 4 2 APP_KEY: "${APP_KEY}" 5 3 BEATMAPS_DIFFICULTY_CACHE_SERVER_URL: http://beatmap-difficulty-lookup-cache ··· 18 16 build: 19 17 context: ./docker/development 20 18 dockerfile: ../../Dockerfile.development 19 + init: true 21 20 volumes: 22 21 - .:/app 23 22 environment: ··· 62 61 beatmap-difficulty-lookup-cache: 63 62 image: pppy/osu-beatmap-difficulty-lookup-cache 64 63 ports: 65 - - "${BEATMAPS_DIFFICULTY_CACHE_EXTERNAL_PORT:-5001}:80" 64 + - "${BEATMAPS_DIFFICULTY_CACHE_EXTERNAL_PORT:-127.0.0.1:5001}:80" 66 65 67 66 notification-server: 68 67 image: pppy/osu-notification-server ··· 77 76 environment: 78 77 <<: *x-env 79 78 ports: 80 - - "${NOTIFICATION_EXTERNAL_PORT:-2345}:2345" 79 + # used by GitHub Actions test 80 + - "${NOTIFICATION_EXTERNAL_PORT:-127.0.0.1:2345}:2345" 81 81 82 82 notification-server-dusk: 83 83 image: pppy/osu-notification-server ··· 101 101 <<: *x-env 102 102 MYSQL_ALLOW_EMPTY_PASSWORD: "yes" 103 103 ports: 104 - - "${MYSQL_EXTERNAL_PORT:-3306}:3306" 104 + - "${MYSQL_EXTERNAL_PORT:-127.0.0.1:3306}:3306" 105 105 command: --default-authentication-plugin=mysql_native_password 106 106 healthcheck: 107 107 # important to use 127.0.0.1 instead of localhost as mysql starts twice. ··· 113 113 start_period: 60s 114 114 115 115 redis: 116 + command: ['redis-server', '--save', '60', '1', '--loglevel', 'warning'] 116 117 image: redis:latest 117 118 ports: 118 - - "${REDIS_EXTERNAL_PORT:-6379}:6379" 119 + - "${REDIS_EXTERNAL_PORT:-127.0.0.1:6379}:6379" 119 120 healthcheck: 120 121 test: ["CMD", "redis-cli", "--raw", "incr", "ping"] 121 122 interval: 1s 122 123 timeout: 60s 123 124 start_period: 60s 125 + volumes: 126 + - redis:/data 124 127 125 128 elasticsearch: 126 129 # Version must be kept up to date with library defined in: composer.json 127 130 image: elasticsearch:7.17.16 128 131 ports: 129 - - "${ES_EXTERNAL_PORT:-9200}:9200" 132 + - "${ES_EXTERNAL_PORT:-127.0.0.1:9200}:9200" 130 133 volumes: 131 134 - elasticsearch:/usr/share/elasticsearch/data 132 135 environment: ··· 187 190 volumes: 188 191 database: 189 192 elasticsearch: 193 + redis:
+1 -1
docker/deployment/entrypoint.sh
··· 5 5 # exit on unassigned variable 6 6 set -u 7 7 8 - command=php 8 + command=octane 9 9 if [ "$#" -gt 0 ]; then 10 10 command="$1" 11 11 shift
+1 -1
resources/css/bem/supporter-icon.less
··· 28 28 width: @user-card-icon-size; 29 29 font-size: @user-card-icon-size / 2; 30 30 border-radius: 50%; 31 - padding: unset; 31 + padding: 1px 0 0; 32 32 } 33 33 34 34 &--user-list {
+1 -1
resources/js/beatmap-discussions/beatmap-list.tsx
··· 83 83 > 84 84 <BeatmapListItem 85 85 beatmap={beatmap} 86 - beatmapUrl={makeUrl({ beatmap })} 86 + beatmapUrl={makeUrl({ beatmap, filter: this.props.discussionsState.currentFilter })} 87 87 beatmapset={this.props.discussionsState.beatmapset} 88 88 mapper={this.props.users.get(beatmap.user_id) ?? deletedUserJson} 89 89 showNonGuestMapper={false}
+1 -1
resources/js/beatmap-discussions/discussions-state.ts
··· 351 351 // record page and filter when switching to events 352 352 this.previousPage = this.currentPage; 353 353 this.previousFilter = this.currentFilter; 354 - } else if (this.currentFilter !== this.previousFilter) { 354 + } else if (this.currentPage === 'events' && this.currentFilter !== this.previousFilter) { 355 355 // restore previous filter when switching away from events 356 356 this.currentFilter = this.previousFilter; 357 357 }
+8 -7
resources/js/components/supporter-icon.tsx
··· 3 3 4 4 import { times } from 'lodash'; 5 5 import * as React from 'react'; 6 - import { classWithModifiers } from 'utils/css'; 6 + import { classWithModifiers, Modifiers } from 'utils/css'; 7 7 import { trans } from 'utils/lang'; 8 8 9 9 interface Props { 10 10 level?: number; 11 - modifiers?: string[]; 11 + modifiers?: Modifiers; 12 12 } 13 13 14 - export const SupporterIcon = (props: Props) => { 15 - const className = classWithModifiers('supporter-icon', props.modifiers); 16 - 14 + export default function SupporterIcon(props: Props) { 17 15 return ( 18 - <span className={className} title={trans('users.show.is_supporter')}> 16 + <span 17 + className={classWithModifiers('supporter-icon', props.modifiers)} 18 + title={trans('users.show.is_supporter')} 19 + > 19 20 { 20 21 times(props.level ?? 1, (n) => <span key={n} className='fas fa-heart' />) 21 22 } 22 23 </span> 23 24 ); 24 - }; 25 + }
+3 -3
resources/js/components/user-card.tsx
··· 18 18 import { ReportReportable } from './report-reportable'; 19 19 import { Spinner } from './spinner'; 20 20 import StringWithComponent from './string-with-component'; 21 - import { SupporterIcon } from './supporter-icon'; 21 + import SupporterIcon from './supporter-icon'; 22 22 import TimeWithTooltip from './time-with-tooltip'; 23 23 import UserCardBrick from './user-card-brick'; 24 24 import UserGroupBadges from './user-group-badges'; ··· 228 228 <> 229 229 {this.user.is_supporter && ( 230 230 <a className='user-card__icon' href={route('support-the-game')}> 231 - <SupporterIcon modifiers={['user-card']} /> 231 + <SupporterIcon modifiers='user-card' /> 232 232 </a> 233 233 )} 234 234 <div className='user-card__icon'> ··· 254 254 <div className='user-card__icons'> 255 255 {this.user.is_supporter && ( 256 256 <a className='user-card__icon' href={route('support-the-game')}> 257 - <SupporterIcon level={this.user.support_level} modifiers={['user-list']} /> 257 + <SupporterIcon level={this.user.support_level} modifiers='user-list' /> 258 258 </a> 259 259 )} 260 260
+22
resources/js/core/fix-relative-link.ts
··· 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 + function fixLink(e: MouseEvent) { 5 + if (!(e.target instanceof Element)) { 6 + return; 7 + } 8 + const link = e.target.closest('a'); 9 + if (!(link instanceof HTMLAnchorElement)) { 10 + return; 11 + } 12 + 13 + if (link.getAttribute('href')?.startsWith('./')) { 14 + link.setAttribute('href', link.href); 15 + } 16 + } 17 + 18 + export default class FixRelativeLink { 19 + constructor() { 20 + document.addEventListener('click', fixLink); 21 + } 22 + }
+3
resources/js/osu-core.ts
··· 7 7 import Captcha from 'core/captcha'; 8 8 import ClickMenu from 'core/click-menu'; 9 9 import Enchant from 'core/enchant'; 10 + import FixRelativeLink from 'core/fix-relative-link'; 10 11 import ForumPoll from 'core/forum/forum-poll'; 11 12 import ForumPostEdit from 'core/forum/forum-post-edit'; 12 13 import ForumPostInput from 'core/forum/forum-post-input'; ··· 45 46 readonly currentUserModel; 46 47 readonly dataStore; 47 48 readonly enchant; 49 + readonly fixRelativeLink; 48 50 readonly forumPoll; 49 51 readonly forumPostEdit; 50 52 readonly forumPostInput; ··· 90 92 this.chatWorker = new ChatWorker(); 91 93 this.clickMenu = new ClickMenu(); 92 94 this.currentUserModel = new UserModel(this); 95 + this.fixRelativeLink = new FixRelativeLink(); 93 96 this.forumPoll = new ForumPoll(); 94 97 this.forumPostEdit = new ForumPostEdit(); 95 98 this.forumPostInput = new ForumPostInput();
+2 -2
resources/js/quick-search/user.tsx
··· 3 3 4 4 import FlagCountry from 'components/flag-country'; 5 5 import FriendButton from 'components/friend-button'; 6 - import { SupporterIcon } from 'components/supporter-icon'; 6 + import SupporterIcon from 'components/supporter-icon'; 7 7 import UserGroupBadges from 'components/user-group-badges'; 8 8 import UserJson from 'interfaces/user-json'; 9 9 import { route } from 'laroute'; ··· 33 33 {user.is_supporter 34 34 ? ( 35 35 <div className='user-search-card__col user-search-card__col--icon u-hidden-narrow'> 36 - <SupporterIcon level={user.support_level} modifiers={['quick-search']} /> 36 + <SupporterIcon level={user.support_level} modifiers='quick-search' /> 37 37 </div> 38 38 ) : null} 39 39
+12 -1
resources/js/scores-show/player.tsx
··· 14 14 } 15 15 16 16 export default function Player(props: Props) { 17 + let title: string; 18 + let content: React.ReactNode; 19 + 20 + if (props.score.rank_global == null || props.score.ranked === false || props.score.preserve === false) { 21 + title = trans('scores.status.no_rank'); 22 + content = '-'; 23 + } else { 24 + title = ''; 25 + content = <>#{formatNumber(props.score.rank_global)}</>; 26 + } 27 + 17 28 return ( 18 29 <div className='score-player'> 19 30 <div className='score-player__row score-player__row--score'> ··· 50 61 {trans('scores.show.player.rank.global')} 51 62 </div> 52 63 <div className='score-player__rank score-player__rank--value'> 53 - {props.score.rank_global == null ? '-' : `#${formatNumber(props.score.rank_global)}`} 64 + <span title={title}>{content}</span> 54 65 </div> 55 66 </div> 56 67 </div>
+2 -4
resources/js/utils/offset-paginator.ts
··· 5 5 import { route } from 'laroute'; 6 6 import { action } from 'mobx'; 7 7 import { RouteList } from 'ziggy-js'; 8 + import { getInt } from './math'; 8 9 9 10 type RouteParams = Partial<Record<string, string | number>>; 10 11 ··· 21 22 export const apiShowMore = action(<T>(json: OffsetPaginatorJson<T>, routeName: keyof RouteList, baseRouteParams: RouteParams): JQuery.jqXHR<T[]> => { 22 23 json.pagination.loading = true; 23 24 24 - let limit = baseRouteParams.limit; 25 - if (typeof limit !== 'number' || !Number.isFinite(limit)) { 26 - limit = 50; 27 - } 25 + const limit = getInt(baseRouteParams.limit) ?? 50; 28 26 const fetchLimit = limit + 1; 29 27 const params = { 30 28 ...baseRouteParams,
+2
resources/lang/ar/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'هذه الخريطة مقدرة بأن تصبح Ranked في :date إذا لم يتم العثور على أي مشاكل. انها#:position في :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'في :date', 217 219 'queue' => 'قائمة انتظار الترتيب', 218 220 'soon' => 'قريبًا',
-1
resources/lang/ar/home.php
··· 80 80 'action_lazer_title' => 'جرب osu!(lazer)', 81 81 'action_title' => 'تحميل osu!', 82 82 'for_os' => 'ل :os', 83 - 'lazer_note' => 'ملاحظة: تطبق إعادة تعيين لوحة المتصدرين', 84 83 'macos-fallback' => 'مستخدمين MacOS', 85 84 'mirror' => 'مُباشر', 86 85 'or' => 'أو',
+11
resources/lang/ar/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/ar/scores.php
··· 28 28 'non_passing' => 'فقط أفضل الدرجات الشخصية تعود عليك بـ pp', 29 29 'no_pp' => '', 30 30 'processing' => 'لا تزال النتائج قيد الحساب, وسوف تُعرض قريباََ', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/be/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Гэтая карта cможа маць рэйтынг :date, калі праблем не знойдзена. Гэта #:position у :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date', 217 219 'queue' => 'чаргу ў рэйтынг', 218 220 'soon' => 'хутка',
-1
resources/lang/be/home.php
··· 80 80 'action_lazer_title' => 'паспрабаваць osu!(lazer)', 81 81 'action_title' => 'скачаць osu!', 82 82 'for_os' => 'для :os', 83 - 'lazer_note' => 'заўвага: вашы рэкорды могуць быць выдалены', 84 83 'macos-fallback' => 'для macOS', 85 84 'mirror' => 'люстэрка', 86 85 'or' => 'або',
+11
resources/lang/be/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/be/scores.php
··· 28 28 'non_passing' => 'Толькі пройдзеныя карты прыносяць pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Гэты скор усё яшчэ разлічваецца і будзе адлюстраваны ў бліжэйшы час', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/bg/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Журито за този конкурс не е активно.', 85 85 'voting_over' => 'Не може да промените гласа си, след като периодът за гласуване изтече.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Не може да се закачи този вид резултат", 176 - 'failed' => "", 176 + 'failed' => "Не може да закачите непреминат резултат.", 177 177 'not_owner' => 'Само притежателят на резултата може да го закачи.', 178 178 'too_many' => 'Закачени са прекалено много резултати.', 179 179 ],
+2
resources/lang/bg/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Този бийтмап ще бъде класиран на :date ако не открием проблеми. Той е #:position на :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'на :date', 217 219 'queue' => 'опашката', 218 220 'soon' => 'скоро',
+14 -14
resources/lang/bg/contest.php
··· 5 5 6 6 return [ 7 7 'header' => [ 8 - 'small' => 'Състезавайте се по повече начини освен да кликвате върху кръгчета.', 8 + 'small' => 'Състезавайте се по още начини освен кликане върху кръгове.', 9 9 'large' => 'Обществени конкурси', 10 10 ], 11 11 ··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'скрий гласуваните', 18 + 'nav_title' => 'жури', 19 + 'no_current_vote' => 'не сте гласували все още.', 20 + 'update' => 'обнови', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'липсващ резултат', 23 + 'contest_vote_judged' => 'не може да гласувате ако сте жури', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Вече гласувахте за този запис.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Резултат от жури', 30 + 'creator' => 'създател', 31 + 'score' => 'Резултат', 32 + 'total_score' => 'общ резултат', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Вие сте жури в този конкурс. Оценете текущите записи!', 37 + 'judged_notice' => 'Този конкурс използва системата жури, съдиите в момента обработват записите.', 38 38 'login_required' => 'Моля, влез в профила си, за да гласувате.', 39 39 'over' => 'Гласуването за този конкурс е приключилo', 40 40 'show_voted_only' => 'Моите гласове',
-1
resources/lang/bg/home.php
··· 80 80 'action_lazer_title' => 'изпробвайте osu!(lazer)', 81 81 'action_title' => 'изтеглете osu!', 82 82 'for_os' => 'за :os', 83 - 'lazer_note' => 'внимание: прилага се рестарт на класирането', 84 83 'macos-fallback' => 'macOS потребители', 85 84 'mirror' => 'алтернативна връзка', 86 85 'or' => 'или',
+2 -2
resources/lang/bg/layout.php
··· 196 196 'account-edit' => 'Настройки', 197 197 'follows' => 'Следвани', 198 198 'friends' => 'Приятели', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer стил', 200 + 'legacy_score_only_toggle_tooltip' => 'Lazer стилът показва резултатите от lazer по нов точков алгоритъм', 201 201 'logout' => 'Изход', 202 202 'profile' => 'Моят профил', 203 203 ],
+2 -2
resources/lang/bg/page_title.php
··· 64 64 '_' => 'коментари', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'резултати от журито на конкурса', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'конкурси', 71 - 'judge' => '', 71 + 'judge' => 'жури на конкурса', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'групи',
+1 -1
resources/lang/bg/password_reset.php
··· 37 37 'username' => 'Въведете имейл или потребителско име', 38 38 39 39 'reason' => [ 40 - 'inactive_different_country' => "", 40 + 'inactive_different_country' => "Вашият профил не е използван от доста време. За да сме сигурни в защитата на профила Ви, моля обновете си паролата.", 41 41 ], 42 42 'support' => [ 43 43 '_' => 'Нуждаете се от допълнителна помощ? Свържете се с нашата :button.',
+11
resources/lang/bg/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/bg/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Резултатът е отбелязан за изтриване и ще изчезне скоро.', 9 9 'title' => ':username в :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Само най-добрите лични постижения дават pp', 28 28 'non_passing' => 'Само преминатите постижения дават pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'pp не са получени от резултата', 30 30 'processing' => 'Резултатът все още се пресмята и ще бъде показан скоро', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/ca/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'L\'avaluació per a aquest concurs està desactivada.', 85 85 'voting_over' => 'No pots canviar el teu vot després d\'haver acabat el període de votació.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "No es pot fixar aquest tipus de puntuació", 176 - 'failed' => "", 176 + 'failed' => "No pots fixar una puntuació fallida.", 177 177 'not_owner' => 'Només el propietari de la puntuació pot fixar la puntuació.', 178 178 'too_many' => 'Has fixat massa puntuacions.', 179 179 ],
+2
resources/lang/ca/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'S\'estima que aquest mapa es classificarà :date si no es troben problemes. És el número :position a la :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'a :date', 217 219 'queue' => 'cua de classificació', 218 220 'soon' => 'aviat',
+13 -13
resources/lang/ca/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'amagar entrades avaluades', 18 + 'nav_title' => 'avaluar', 19 + 'no_current_vote' => 'encara no has votat.', 20 + 'update' => 'actualitzar', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'puntuació faltant', 23 + 'contest_vote_judged' => 'no pots votar en concursos avaluats', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Ja has enviat un vot en aquesta entrada.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Resultats de l\'avaluació', 30 + 'creator' => 'creador', 31 + 'score' => 'Puntuació', 32 + 'total_score' => 'puntuació total', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Ets un avaluador d\'aquest concurs. Avalua les entrades aquí!', 37 + 'judged_notice' => 'Aquest concurs està utilitzant el sistema d\'avaluació, els avaluadors actualment estan processant les entrades.', 38 38 'login_required' => 'Sisplau, inicia sessió per a votar.', 39 39 'over' => 'La votació per aquest torneig ha finalitzat', 40 40 'show_voted_only' => 'Mostra els votats',
-1
resources/lang/ca/home.php
··· 80 80 'action_lazer_title' => 'prova osu!(lazer)', 81 81 'action_title' => 'descarrega osu!', 82 82 'for_os' => 'per :os', 83 - 'lazer_note' => 'nota: s\'apliquen restabliments de les taules de classificació', 84 83 'macos-fallback' => 'usuaris de macOS', 85 84 'mirror' => 'enllaç alternatiu', 86 85 'or' => 'o',
+2 -2
resources/lang/ca/layout.php
··· 112 112 'legal' => [ 113 113 '_' => 'Estat legal', 114 114 'copyright' => 'Drets d\'autor (DMCA)', 115 - 'jp_sctl' => '', 115 + 'jp_sctl' => 'SCTL', 116 116 'privacy' => 'Privacitat', 117 117 'server_status' => 'Estat del servidor', 118 118 'source_code' => 'Codi font', ··· 196 196 'account-edit' => 'Configuració', 197 197 'follows' => 'Llistes de seguiment', 198 198 'friends' => 'Amics', 199 - 'legacy_score_only_toggle' => '', 199 + 'legacy_score_only_toggle' => 'Mode lazer', 200 200 'legacy_score_only_toggle_tooltip' => '', 201 201 'logout' => 'Tanca la sessió', 202 202 'profile' => 'El meu perfil',
+11
resources/lang/ca/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/ca/scores.php
··· 28 28 'non_passing' => 'Només les puntuacions aprovades atorguen pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Aquesta puntuació encara s\'està calculant i es mostrarà aviat', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+1 -1
resources/lang/cs/authorization.php
··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Nelze připnout tento typ skóre", 176 - 'failed' => "", 176 + 'failed' => "Nelze připnout neprocházející skóre.", 177 177 'not_owner' => 'Pouze vlastník skóre může připnout skóre.', 178 178 'too_many' => 'Připnuto příliš mnoho skóre.', 179 179 ],
+2
resources/lang/cs/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Odhaduje se, že tato mapa bude schválena :date, pokud nejsou nalezeny žádné problémy. Aktuálně je #:position ve :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'dne :date', 217 219 'queue' => 'frontě schválení', 218 220 'soon' => 'brzy',
+5 -5
resources/lang/cs/contest.php
··· 16 16 'judge' => [ 17 17 'hide_judged' => '', 18 18 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 19 + 'no_current_vote' => 'ještě jsi nehlasoval.', 20 + 'update' => 'aktualizovat', 21 21 'validation' => [ 22 22 'missing_score' => '', 23 23 'contest_vote_judged' => '', ··· 27 27 28 28 'judge_results' => [ 29 29 '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 30 + 'creator' => 'autor', 31 + 'score' => 'Skóre', 32 + 'total_score' => 'celkové skóre', 33 33 ], 34 34 35 35 'voting' => [
+2 -2
resources/lang/cs/events.php
··· 12 12 'beatmapset_update' => '<strong><em>:user</em></strong> aktualizoval mapu "<em>:beatmapset</em>"', 13 13 'beatmapset_upload' => '<strong><em>:user</em></strong> zveřejnil novou mapu ":beatmapset"', 14 14 'empty' => "Tento uživatel neudělal v nejbližší minulosti nic pozoruhodného!", 15 - 'rank' => '<strong><em>:user</em></strong> získal pozici #:rank na mapě <em>:beatmap</em> (:mode)', 15 + 'rank' => ':user získal :rank na mapě :beatmap (:mode)', 16 16 'rank_lost' => '<strong><em>:user</em></strong> ztratil první místo na mapě <em>:beatmap</em> (:mode)', 17 17 'user_support_again' => '<strong>:user</strong> se opět rozhodl podpořit osu! - díky za tvou štědrost!', 18 18 'user_support_first' => '<strong>:user</strong> podpořil osu! - díky za tvou štědrost!', ··· 27 27 ], 28 28 29 29 'value' => [ 30 - 'rank' => 'hodnocení #:rank', 30 + 'rank' => 'pozici #:rank', 31 31 ], 32 32 ];
+1 -1
resources/lang/cs/forum.php
··· 340 340 ], 341 341 342 342 'user' => [ 343 - 'count' => '{0} žádné hlasy | {1} :count hlas | [2,*] :count hlasů', 343 + 'count' => '{0} nula hlasů|{1} :count_delimited hlas|[2,4] :count_delimited hlasy|[5,*] :count_delimited hlasů', 344 344 'current' => 'Zbývá vám :votes.', 345 345 'not_enough' => "Nemáte žádné další hlasy", 346 346 ],
-1
resources/lang/cs/home.php
··· 80 80 'action_lazer_title' => 'zkusit osu!(lazer)', 81 81 'action_title' => 'stáhnout osu!', 82 82 'for_os' => 'pro :os', 83 - 'lazer_note' => 'poznámka: resetuje žebříčky', 84 83 'macos-fallback' => 'macOS uživatelé', 85 84 'mirror' => 'mirror', 86 85 'or' => 'nebo',
+2 -2
resources/lang/cs/layout.php
··· 196 196 'account-edit' => 'Nastavení', 197 197 'follows' => 'Sledované položky', 198 198 'friends' => 'Přátelé', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer režim', 200 + 'legacy_score_only_toggle_tooltip' => 'Lazer režim zobrazuje skóre zahraná na lazeru s novým skórovacím algoritmem', 201 201 'logout' => 'Odhlásit se', 202 202 'profile' => 'Můj profil', 203 203 ],
+11
resources/lang/cs/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+4 -3
resources/lang/cs/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Toto skóre je označeno pro smazání a brzy zmizí.', 9 9 'title' => ':username na :title [:version]', 10 10 11 11 'beatmap' => [ ··· 25 25 26 26 'status' => [ 27 27 'non_best' => 'Pouze osobní nejlepší skóre ocenění', 28 - 'non_passing' => 'pp dostávají jen schválené skóre ', 29 - 'no_pp' => '', 28 + 'non_passing' => 'Pouze procházející skóre udělují pp', 29 + 'no_pp' => 'pp není za toto skóre uděleno', 30 30 'processing' => 'Toto skóre se stále počítá a bude brzy zobrazeno', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/da/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Dette kort anslås at være rangeret :date , hvis ingen problemer findes. Det er #:position i :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '', 217 219 'queue' => 'rangering kø', 218 220 'soon' => 'snart',
-1
resources/lang/da/home.php
··· 82 82 'action_lazer_title' => 'prøv osu!(lazer)', 83 83 'action_title' => 'hent osu!', 84 84 'for_os' => 'for :os', 85 - 'lazer_note' => '', 86 85 'macos-fallback' => 'macOS brugere', 87 86 'mirror' => 'mirror', 88 87 'or' => 'eller',
+11
resources/lang/da/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/da/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => 'Denne score bliver stadig beregnet og vil snart blive vist', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+1 -1
resources/lang/de/authorization.php
··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Dieser Score-Typ kann nicht angepinnt werden", 176 - 'failed' => "", 176 + 'failed' => "Nicht abgeschlossene Scores können nicht angepinnt werden", 177 177 'not_owner' => 'Nur der Spieler, der den Score eingereicht hat, kann ihn anpinnen.', 178 178 'too_many' => 'Zu viele Scores angepinnt.', 179 179 ],
+2
resources/lang/de/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Diese Map wird voraussichtlich am :date ranked. Sie befindet sich aktuell an Position :position der :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'am :date', 217 219 'queue' => 'Warteschlange', 218 220 'soon' => 'bald',
+3 -3
resources/lang/de/contest.php
··· 17 17 'hide_judged' => '', 18 18 'nav_title' => '', 19 19 'no_current_vote' => '', 20 - 'update' => '', 20 + 'update' => 'aktualisieren', 21 21 'validation' => [ 22 22 'missing_score' => '', 23 23 'contest_vote_judged' => '', ··· 28 28 'judge_results' => [ 29 29 '_' => '', 30 30 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 31 + 'score' => 'Ergebnis', 32 + 'total_score' => 'Gesamtergebnis', 33 33 ], 34 34 35 35 'voting' => [
-1
resources/lang/de/home.php
··· 80 80 'action_lazer_title' => 'osu!(lazer) ausprobieren', 81 81 'action_title' => 'osu! herunterladen', 82 82 'for_os' => 'für :os', 83 - 'lazer_note' => 'Anmerkung: Rangliste kann zurückgesetzt werden', 84 83 'macos-fallback' => 'macOS-Benutzer', 85 84 'mirror' => 'mirror', 86 85 'or' => 'oder',
+2 -2
resources/lang/de/layout.php
··· 196 196 'account-edit' => 'Einstellungen', 197 197 'follows' => 'Merklisten', 198 198 'friends' => 'Freunde', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer-Modus', 200 + 'legacy_score_only_toggle_tooltip' => 'Der Lazer-Modus zeigt Scores aus Lazer mit einem neuen Bewertungsalgorithmus an.', 201 201 'logout' => 'Ausloggen', 202 202 'profile' => 'Mein Profil', 203 203 ],
+11
resources/lang/de/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/de/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Dieser Score wird bald gelöscht.', 9 9 'title' => ':username auf :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Nur persönliche Bestwerte geben pp', 28 28 'non_passing' => 'Nur erfolgreiche Scores geben pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'Für diesen Score werden keine pp vergeben', 30 30 'processing' => 'Dieser Score wird noch berechnet und in Kürze angezeigt', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/el/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Ο χάρτης υπολογίζεται σε κατάταξη :date εάν δεν βρεθούν προβλήματα. Είναι #:position στο :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'στο :date', 217 219 'queue' => 'ουρά κατάταξης', 218 220 'soon' => 'σύντομα',
-1
resources/lang/el/home.php
··· 80 80 'action_lazer_title' => 'δοκίμασε το osu!(lazer)', 81 81 'action_title' => 'κατέβασε το osu!', 82 82 'for_os' => 'για :os', 83 - 'lazer_note' => 'σημείωση: ισχύουν επαναλήψεις leaderboard', 84 83 'macos-fallback' => 'χρήστες macOS', 85 84 'mirror' => 'mirror', 86 85 'or' => 'ή',
+11
resources/lang/el/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/el/scores.php
··· 28 28 'non_passing' => 'Περνώντας μόνο βαθμολογίες που απονέμονται pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Αυτό το σκορ εξακολουθεί να υπολογίζεται και θα εμφανιστεί σύντομα', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+11
resources/lang/en/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => 'invalid or missing beatmap_hash', 9 + 'submission_disabled' => 'score submission is disabled', 10 + ], 11 + ];
+1
resources/lang/en/scores.php
··· 28 28 'non_passing' => 'Only passing scores award pp', 29 29 'no_pp' => 'pp is not awarded for this score', 30 30 'processing' => 'This score is still being calculated and will be displayed soon', 31 + 'no_rank' => 'This score has no rank as it is unranked or marked for deletion', 31 32 ], 32 33 ];
+2 -2
resources/lang/es/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'La evaluación para este concurso no está activa.', 85 85 'voting_over' => 'No puedes cambiar tu voto después de que el periodo de votación para este concurso haya finalizado.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "No se puede anclar este tipo de puntuación", 176 - 'failed' => "", 176 + 'failed' => "No se puede fijar una puntuación fallida.", 177 177 'not_owner' => 'Solo el propietario puede anclar la puntuación.', 178 178 'too_many' => 'Se han anclado demasiadas puntuaciones.', 179 179 ],
+2
resources/lang/es/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Se estima que este mapa se clasificará :date si no se encuentran problemas. Es el número :position en la :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'el :date', 217 219 'queue' => 'cola de clasificación', 218 220 'soon' => 'pronto',
+13 -13
resources/lang/es/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'ocultar entradas evaluadas', 18 + 'nav_title' => 'evaluar', 19 + 'no_current_vote' => 'aún no has votado.', 20 + 'update' => 'actualizar', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'puntuación faltante', 23 + 'contest_vote_judged' => 'no puedes votar en concursos ya evaluados', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Ya has enviado un voto en esta entrada.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Resultados de la evaluación', 30 + 'creator' => 'creador', 31 + 'score' => 'Puntuación', 32 + 'total_score' => 'puntuación total', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Eres un evaluador de este concurso. ¡Evalúa las entradas aquí!', 37 + 'judged_notice' => 'Este concurso está usando el sistema de evaluación, los evaluadores actualmente están procesando las entradas.', 38 38 'login_required' => 'Inicie sesión para votar.', 39 39 'over' => 'Las votaciones para este concurso ya han terminado', 40 40 'show_voted_only' => 'Mostrar votado',
-1
resources/lang/es/home.php
··· 80 80 'action_lazer_title' => 'probar osu!(lazer)', 81 81 'action_title' => 'descargar osu!', 82 82 'for_os' => 'para :os', 83 - 'lazer_note' => 'nota: se aplican reinicios a la tabla de clasificación', 84 83 'macos-fallback' => 'usuarios de macOS', 85 84 'mirror' => 'link alternativo', 86 85 'or' => 'o',
+3 -3
resources/lang/es/layout.php
··· 112 112 'legal' => [ 113 113 '_' => 'Legal y estado', 114 114 'copyright' => 'Derechos de autor (DMCA)', 115 - 'jp_sctl' => '', 115 + 'jp_sctl' => 'SCTL', 116 116 'privacy' => 'Privacidad', 117 117 'server_status' => 'Estado del servidor', 118 118 'source_code' => 'Código fuente', ··· 196 196 'account-edit' => 'Configuración', 197 197 'follows' => 'Listas de seguimiento', 198 198 'friends' => 'Amigos', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Modo lazer', 200 + 'legacy_score_only_toggle_tooltip' => 'El modo lazer muestra las puntuaciones enviadas desde lazer con un nuevo algoritmo de puntuación', 201 201 'logout' => 'Cerrar sesión', 202 202 'profile' => 'Mi perfil', 203 203 ],
+2 -2
resources/lang/es/page_title.php
··· 64 64 '_' => 'comentarios', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'resultados de la evaluación del concurso', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'concursos', 71 - 'judge' => '', 71 + 'judge' => 'evaluación del concurso', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'grupos',
+11
resources/lang/es/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/es/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Está puntuación está marcada para eliminación y desaparecerá pronto.', 9 9 'title' => ':username en :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Solo las mejores puntuaciones personales otorgan pp', 28 28 'non_passing' => 'Solo las puntuaciones aprobadas dan pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'no se concede pp para esta puntuación', 30 30 'processing' => 'Esta puntuación aún se está calculando y se mostrará pronto', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/fa-IR/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => '', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '', 217 219 'queue' => '', 218 220 'soon' => '',
-1
resources/lang/fa-IR/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => '', 85 84 'mirror' => '', 86 85 'or' => '',
+11
resources/lang/fa-IR/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/fa-IR/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => '', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/fi/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Tuomarointi tälle kilpailulle ei ole avoinna.', 85 85 'voting_over' => 'Et voi muuttaa ääntäsi tälle kilpailulle äänestysajan loppumisen jälkeen.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Ei voida kiinnittää tämäntyyppistä pisteytystä", 176 - 'failed' => "", 176 + 'failed' => "Ei läpäistyä suoritusta ei voida kiinnittää.", 177 177 'not_owner' => 'Vain tuloksen omistaja voi kiinnittää tuloksen.', 178 178 'too_many' => 'Kiinnitit liian monta tulosta.', 179 179 ],
+2
resources/lang/fi/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Tämä kartta tulee arvion perusteella rankatuksi :date, jos ongelmia ei löydy. Se on :position. :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date', 217 219 'queue' => 'hyväksytysjonossa', 218 220 'soon' => 'pian',
+1 -1
resources/lang/fi/community.php
··· 71 71 72 72 'upload_more' => [ 73 73 'title' => 'Lataa enemmän', 74 - 'description' => 'Lisäpaikkoja vireillä oleville beatmapeille jokaista hyväksyttyä beatmappiä vastaan. (Max. 10)', 74 + 'description' => 'Vireillä olevien rytmikarttojen lisäpaikkoja jokaista rankattua rytmikarttaa kohden, enintään 10 kappaletta.', 75 75 ], 76 76 77 77 'early_access' => [
+13 -13
resources/lang/fi/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'piilota arvioidut tuotokset', 18 + 'nav_title' => 'arvioi', 19 + 'no_current_vote' => 'et ole äänestänyt vielä.', 20 + 'update' => 'päivitä', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'puuttuva pisteytys', 23 + 'contest_vote_judged' => 'et voi äänestää tuomaroiduissa kilpailuissa', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Olet jo äänestänyt tätä tuotosta.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Tuomaroinnin tulokset', 30 + 'creator' => 'tekijä', 31 + 'score' => 'Pisteet', 32 + 'total_score' => 'kokonaispisteet', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Olet tämän kilpailun tuomari. Arvostele tuotoksia täällä!', 37 + 'judged_notice' => 'Tämä kilpailu käyttää tuomarointijärjestelmää, tuomarit käsittelevät tuotoksia parhaillaan.', 38 38 'login_required' => 'Kirjaudu sisään äänestääksesi.', 39 39 'over' => 'Äänestys tälle kilpailulle on päättynyt', 40 40 'show_voted_only' => 'Näytä äänestetyt',
-1
resources/lang/fi/home.php
··· 80 80 'action_lazer_title' => 'kokeile osu!(lazer)ia', 81 81 'action_title' => 'lataa osu!', 82 82 'for_os' => ':os -käyttöjärjestelmälle', 83 - 'lazer_note' => 'huomautus: tulostaulukoiden nollaus pätee', 84 83 'macos-fallback' => 'macOS-käyttäjät', 85 84 'mirror' => 'vaihtoehtoinen lataus', 86 85 'or' => 'tai',
+2 -2
resources/lang/fi/layout.php
··· 196 196 'account-edit' => 'Asetukset', 197 197 'follows' => 'Seurantalistat', 198 198 'friends' => 'Kaverit', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer-tila', 200 + 'legacy_score_only_toggle_tooltip' => 'Lazer-tila näyttää uuden pisteytysalgoritmin avulla saadut tulokset', 201 201 'logout' => 'Kirjaudu ulos', 202 202 'profile' => 'Oma profiili', 203 203 ],
+2 -2
resources/lang/fi/page_title.php
··· 64 64 '_' => 'kommentit', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'kilpailun tuomaroinnin tulokset', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'kilpailut', 71 - 'judge' => '', 71 + 'judge' => 'kilpailun tuomarointi', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'ryhmät',
+11
resources/lang/fi/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/fi/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Tämä suoritus on merkitty poistettavaksi ja se katoaa pian.', 9 9 'title' => ':username\'n tulos: :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Vain parhaat henkilökohtaiset tulokset antavat pp:tä', 28 28 'non_passing' => 'Vain loppuun asti päässeet tulokset antavat pp:tä', 29 - 'no_pp' => '', 29 + 'no_pp' => 'pp:tä ei myönnetä tälle suoritukselle', 30 30 'processing' => 'Pisteitä lasketaan ja ne näytetään pian', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+15 -15
resources/lang/fil/accounts.php
··· 21 21 'new_confirmation' => 'ikumpirma ang email', 22 22 'title' => 'Email', 23 23 'locked' => [ 24 - '_' => '', 25 - 'accounts' => '', 24 + '_' => 'Pakipag-ugnay sa :accounts kung kailangan mong ma-update ang iyong email.', 25 + 'accounts' => 'pangkat ng suporta sa account', 26 26 ], 27 27 ], 28 28 29 29 'legacy_api' => [ 30 - 'api' => '', 31 - 'irc' => '', 32 - 'title' => '', 30 + 'api' => 'api', 31 + 'irc' => 'irc', 32 + 'title' => 'Legacy na API', 33 33 ], 34 34 35 35 'password' => [ ··· 40 40 ], 41 41 42 42 'profile' => [ 43 - 'country' => '', 43 + 'country' => 'bansa', 44 44 'title' => 'Profile', 45 45 46 46 'country_change' => [ 47 - '_' => "", 48 - 'update_link' => '', 47 + '_' => "Mukhang hindi tumutugma ang bansa ng iyong account sa iyong bansang tinitirhan. :update_link.", 48 + 'update_link' => 'I-update sa :country', 49 49 ], 50 50 51 51 'user' => [ ··· 65 65 ], 66 66 67 67 'github_user' => [ 68 - 'info' => "", 69 - 'link' => '', 70 - 'title' => '', 71 - 'unlink' => '', 68 + 'info' => "Kung isa kang kontribyutor sa mga open-source na repository ng osu!, ang pag-link ng iyong GitHub account dito ay iuugnay ang iyong mga changelog entries sa iyong osu! profile. Mga GitHub account na walang history ng kontribusyon sa osu! ay hindi ma-link.", 69 + 'link' => 'I-link ang GitHub Account', 70 + 'title' => 'GitHub', 71 + 'unlink' => 'I-unlink ang GitHub Account', 72 72 73 73 'error' => [ 74 - 'already_linked' => '', 75 - 'no_contribution' => '', 76 - 'unverified_email' => '', 74 + 'already_linked' => 'Ang GitHub account na ito ay naka-link na sa ibang user.', 75 + 'no_contribution' => 'Hindi ma-link ang GitHub account nang walang anumang kasaysayan ng kontribusyon sa mga repositoryo ng osu. ', 76 + 'unverified_email' => 'Paki-verify ng iyong pangunahing email sa GitHub, pagkatapos ay subukang i-link muli ang iyong account.', 77 77 ], 78 78 ], 79 79
+2 -2
resources/lang/fil/api.php
··· 17 17 'identify' => 'Tukuyin ka at basahin ang iyong pampublikong profile.', 18 18 19 19 'chat' => [ 20 - 'read' => '', 20 + 'read' => 'Basahin ang mga mensahe sa iyong ngalan.', 21 21 'write' => 'Magpadala ng mga mensahe sa iyong ngalan.', 22 - 'write_manage' => '', 22 + 'write_manage' => 'Sumali at umalis sa mga channel sa ngalan mo.', 23 23 ], 24 24 25 25 'forum' => [
+4 -4
resources/lang/fil/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Ang paghusga para sa paligsahan na ito ay hindi aktibo.', 85 85 'voting_over' => 'Hindi mo maaaring baguhin ang iyong boto pagkatapos ng panahon ng pagboto para sa paligsahang ito ay natapos na.', 86 86 87 87 'entry' => [ ··· 172 172 173 173 'score' => [ 174 174 'pin' => [ 175 - 'disabled_type' => "", 176 - 'failed' => "", 175 + 'disabled_type' => "Hindi ma-pin ang ganitong uri ng iskor", 176 + 'failed' => "Hindi ma-pin ang hindi pumasa na iskor.", 177 177 'not_owner' => 'Tanging ang may-ari ng iskor ang maaaring mag-pin ng iskor.', 178 178 'too_many' => 'Nag-pin ng masyadong maraming mga iskor.', 179 179 ], ··· 188 188 ], 189 189 ], 190 190 'update_email' => [ 191 - 'locked' => '', 191 + 'locked' => 'ang email address ay naka-lock', 192 192 ], 193 193 ], 194 194 ];
+2 -2
resources/lang/fil/bbcode.php
··· 6 6 return [ 7 7 'bold' => 'Bold', 8 8 'heading' => 'Header', 9 - 'help' => '', 9 + 'help' => 'Tulong', 10 10 'image' => 'Larawan', 11 - 'imagemap' => '', 11 + 'imagemap' => 'Mapa ng Larawan', 12 12 'italic' => 'Italiko', 13 13 'link' => 'Link', 14 14 'list' => 'Listahan',
+1 -1
resources/lang/fil/beatmap_discussions.php
··· 26 26 'deleted' => 'Isama ang mga tinanggal na talakayan', 27 27 'mode' => 'Mode ng beatmap', 28 28 'only_unresolved' => 'Ipakita lamang ang diskusyon na hindi pa nalulutas', 29 - 'show_review_embeds' => '', 29 + 'show_review_embeds' => 'Ipakita ang mga post ng pagsusuri', 30 30 'types' => 'Mga uri ng mensahe', 31 31 'username' => 'Username', 32 32
+2 -2
resources/lang/fil/beatmappacks.php
··· 36 36 'artist' => 'Artista/Album', 37 37 'chart' => 'Spotlights', 38 38 'featured' => 'Mga Tampok na Artista', 39 - 'loved' => '', 39 + 'loved' => 'Proyektong Loved', 40 40 'standard' => 'Standard', 41 41 'theme' => 'Tema', 42 - 'tournament' => '', 42 + 'tournament' => 'Paligsahan', 43 43 ], 44 44 45 45 'require_login' => [
+14 -12
resources/lang/fil/beatmaps.php
··· 79 79 ], 80 80 81 81 'message_type_title' => [ 82 - 'disqualify' => '', 83 - 'hype' => '', 84 - 'mapper_note' => '', 85 - 'nomination_reset' => '', 86 - 'praise' => '', 87 - 'problem' => '', 88 - 'problem_warning' => '', 89 - 'review' => '', 90 - 'suggestion' => '', 82 + 'disqualify' => 'Mag-post ng Diskwalipikasyon', 83 + 'hype' => 'Mag-post ng Hype!', 84 + 'mapper_note' => 'Mag-post ng Tandaan', 85 + 'nomination_reset' => 'Tanggalin ang lahat ng Mga nominasyon', 86 + 'praise' => 'Mag-post ng Papuri', 87 + 'problem' => 'Mag-post ng Problema', 88 + 'problem_warning' => 'Mag-post ng Problema', 89 + 'review' => 'Mag-post ng Pagsusuri', 90 + 'suggestion' => 'Mag-post ng Mungkahi', 91 91 ], 92 92 93 93 'mode' => [ ··· 187 187 ], 188 188 189 189 'nominations' => [ 190 - 'already_nominated' => '', 191 - 'cannot_nominate' => '', 190 + 'already_nominated' => 'Nominado mo na ang beatmap na ito.', 191 + 'cannot_nominate' => 'Hindi mo maaaring inomina ang beatmap game mode na ito.', 192 192 'delete' => 'Tanggalin', 193 193 'delete_own_confirm' => 'Sigurado ka ba? Ang beatmap ay matatanggal at ikaw ay muling babalik sa iyong profile.', 194 194 'delete_other_confirm' => 'Sigurado ka ba? Ang beatmap ay matatanggal at ikaw ay muling babalik sa profile ng user.', ··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Ang mapa na ito ay tatantiyahin na maging ranked sa :date kapag walang isyu ang nahanap. Nasa ika-#:position ng :queue.', 216 - 'on' => '', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 218 + 'on' => 'sa :date', 217 219 'queue' => 'pila ng ranking', 218 220 'soon' => 'malapit na', 219 221 ],
+3 -3
resources/lang/fil/beatmapsets.php
··· 61 61 'discussion' => 'Diskusyon', 62 62 63 63 'admin' => [ 64 - 'full_size_cover' => '', 64 + 'full_size_cover' => 'Tingnan ang buong laki ng cover sa larawan', 65 65 ], 66 66 67 67 'deleted_banner' => [ 68 - 'title' => '', 69 - 'message' => '', 68 + 'title' => 'Ang beatmap na ito ay binura na.', 69 + 'message' => '(mga moderator lang ang makakakita nito)', 70 70 ], 71 71 72 72 'details' => [
+2 -2
resources/lang/fil/comments.php
··· 11 11 'edited' => 'na-edit :timeago ni :user', 12 12 'pinned' => 'nakabaral', 13 13 'empty' => 'Walang pang kumento.', 14 - 'empty_other' => '', 14 + 'empty_other' => 'Wala pang ibang mga komento.', 15 15 'load_replies' => 'ipakita ang mga tugon', 16 16 'replies_count' => ':count_delimited tugon|:count_delimited mga tugon', 17 17 'title' => 'Mga komento', ··· 44 44 ], 45 45 46 46 'ogp' => [ 47 - 'title' => '', 47 + 'title' => 'komento ni :user', 48 48 ], 49 49 50 50 'placeholder' => [
+13 -13
resources/lang/fil/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'itago ang hinuhusgahang mga entry', 18 + 'nav_title' => 'maghusga', 19 + 'no_current_vote' => 'hindi ka pa nakaboto.', 20 + 'update' => 'i-update', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'nawawalang iskor', 23 + 'contest_vote_judged' => 'hindi maaaring bumoto sa hinuhusgahang mga paligsahan', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Ikaw ay nakapagpasa na ng boto sa kalahok na ito.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Mga resulta sa paghuhusga', 30 + 'creator' => 'tagagawa', 31 + 'score' => 'Puntos', 32 + 'total_score' => 'kabuuang puntos', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Ikaw ay isang tagahatol ng paligsahang ito. Hatulan ang mga kalahok dito!', 37 + 'judged_notice' => 'Ang patimpalak na ito ay gumagamit ng sistema ng paghusga, ang mga hukom ay kasalukuyang nagpoproseso ng mga entry.', 38 38 'login_required' => 'Paki-sign-in upang bumoto.', 39 39 'over' => 'Ang pagboboto sa paligsahan na ito ay tapos na', 40 40 'show_voted_only' => 'Ipakita ang mga binoto',
+2 -2
resources/lang/fil/events.php
··· 15 15 'rank' => 'Nakapag-kamit ng :rank sa :beatmap (:mode) si :user', 16 16 'rank_lost' => 'Si <strong><em>:user</em></strong> ay nawala sa unang rank sa <em>:beatmap</em> (:mode)', 17 17 'user_support_again' => 'Si <strong>:user</strong> ay nagsuporta muli ang osu! - salamat sa iyong henerosidad!', 18 - 'user_support_first' => 'Si <strong>:user</strong> ay naging isang osu! supporter - salamat sa iyong henerosidad!', 18 + 'user_support_first' => '<strong>:user</strong> ay sumuporta sa osu! - salamat sa iyong henerosidad!', 19 19 'user_support_gift' => 'Natanggap ni <strong>:user</strong> ang regalo ng osu! supporter!', 20 20 'username_change' => 'Pinalitan ni <strong>:previousUsername</strong> ang username niya sa <strong><em>:user</strong></em>!', 21 21 ··· 27 27 ], 28 28 29 29 'value' => [ 30 - 'rank' => '', 30 + 'rank' => 'ranggo #:rank', 31 31 ], 32 32 ];
+1 -2
resources/lang/fil/home.php
··· 81 81 'action_title' => 'i-download ang osu! 82 82 ', 83 83 'for_os' => 'para sa :os', 84 - 'lazer_note' => 'tandaan: ang mga pag-reset ng leaderboard ay nalalapat', 85 84 'macos-fallback' => 'mga gumagamit ng macOS', 86 85 'mirror' => 'mirror', 87 86 'or' => 'o', 88 - 'os_version_or_later' => '', 87 + 'os_version_or_later' => ':os_version o mas bago', 89 88 'other_os' => 'iba pang mga platform', 90 89 'quick_start_guide' => 'gabay sa mabilis na pagsisimula', 91 90 'tagline' => "tayo nang<br>simulan ito!",
+2 -2
resources/lang/fil/layout.php
··· 196 196 'account-edit' => 'Mga Setting', 197 197 'follows' => 'Tala ng mga binabantayan', 198 198 'friends' => 'Mga Kaibigan', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer mode', 200 + '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', 201 201 'logout' => 'Mag-sign Out', 202 202 'profile' => 'Aking Profile', 203 203 ],
+9 -9
resources/lang/fil/legacy_api_key.php
··· 8 8 'none' => 'Walang key.', 9 9 10 10 'docs' => [ 11 - '_' => '', 12 - 'github' => '', 11 + '_' => 'Ang dokumentasyon ay makukuha sa :github.', 12 + 'github' => 'GitHub', 13 13 ], 14 14 15 15 'form' => [ 16 - 'create' => '', 16 + 'create' => 'Lumikha ng Susi', 17 17 ], 18 18 19 19 'view' => [ 20 - 'hide' => '', 21 - 'show' => '', 22 - 'delete' => '', 20 + 'hide' => 'Itago ang Susi', 21 + 'show' => 'Ipakita ang Susi', 22 + 'delete' => 'Burahin', 23 23 ], 24 24 25 25 'warning' => [ 26 - 'line1' => '', 27 - 'line2' => "", 28 - 'line3' => '', 26 + 'line1' => 'Huwag ibigay ito sa iba.', 27 + 'line2' => "Ito ay katumbas ng pagbibigay ng iyong password.", 28 + 'line3' => 'Ang iyong account ay maaaring nakompromiso.', 29 29 ], 30 30 ];
+1 -1
resources/lang/fil/matches.php
··· 12 12 'in_progress_spinner_label' => 'laban na nag-uunlad', 13 13 'loading-events' => 'Naglo-load ng mga pangyayari...', 14 14 'winner' => 'Nanalo ang :team', 15 - 'winner_by' => '', 15 + 'winner_by' => ':winner sa pamamagitan ng :difference', 16 16 17 17 'events' => [ 18 18 'player-left' => 'Umalis si:user sa laro',
+6 -6
resources/lang/fil/model_validation.php
··· 8 8 'not_negative' => ':attribute ay bawal maging negatibo.', 9 9 'required' => ':attribute ay kinakailangan.', 10 10 'too_long' => ':attribute ay lumampas sa maksimum na haba - maaaring lamang maging hanggang :limit na character.', 11 - 'url' => '', 11 + 'url' => 'Pakilaan ng isang wastong URL.', 12 12 'wrong_confirmation' => 'Ang kumpirmasyon ay hindi tugma.', 13 13 14 14 'beatmapset_discussion' => [ ··· 110 110 ], 111 111 112 112 'legacy_api_key' => [ 113 - 'exists' => '', 113 + 'exists' => 'Isang susi sa API lang ang ibinibigay sa bawat user sa ngayon.', 114 114 115 115 'attributes' => [ 116 - 'api_key' => '', 117 - 'app_name' => '', 118 - 'app_url' => '', 116 + 'api_key' => 'susi sa api', 117 + 'app_name' => 'pangalan ng aplikasyon', 118 + 'app_url' => 'url ng aplikasyon', 119 119 ], 120 120 ], 121 121 ··· 175 175 176 176 'user_report' => [ 177 177 'no_ranked_beatmapset' => 'Hindi pwede i-report ang mga Ranked beatmaps', 178 - 'not_in_channel' => '', 178 + 'not_in_channel' => 'Wala ka sa channel na ito.', 179 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 ],
+9 -9
resources/lang/fil/notifications.php
··· 15 15 16 16 'action_type' => [ 17 17 '_' => 'lahat', 18 - 'beatmapset' => '', 19 - 'build' => '', 20 - 'channel' => '', 21 - 'forum_topic' => '', 22 - 'news_post' => '', 23 - 'user' => '', 18 + 'beatmapset' => 'mga beatmap', 19 + 'build' => 'mga build', 20 + 'channel' => 'chat', 21 + 'forum_topic' => 'forum', 22 + 'news_post' => 'mga balita', 23 + 'user' => 'profile', 24 24 ], 25 25 26 26 'filters' => [ ··· 57 57 'beatmapset_discussion_unlock_compact' => 'Ang talakayan ay naka-unlock', 58 58 59 59 'review_count' => [ 60 - 'praises' => '', 61 - 'problems' => '', 62 - 'suggestions' => '', 60 + 'praises' => ':count_delimited na papuri|:count_delimited na mga papuri', 61 + 'problems' => ':count_delimited na problema|:count_delimited na mga problema', 62 + 'suggestions' => ':count_delimited na mungkahi|:count_delimited mga mungkahi', 63 63 ], 64 64 ], 65 65
+3 -3
resources/lang/fil/page_title.php
··· 64 64 '_' => 'mga komento', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'mga resulta ng paghuhuga sa paligsahan', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'mga paligsahan', 71 - 'judge' => '', 71 + 'judge' => 'paghuhuga sa paligsahan', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'mga grupo', ··· 105 105 '_' => 'performance', 106 106 ], 107 107 'seasons_controller' => [ 108 - '_' => '', 108 + '_' => 'mga ranggo', 109 109 ], 110 110 'tournaments_controller' => [ 111 111 '_' => 'tournaments',
+1 -1
resources/lang/fil/password_reset.php
··· 37 37 'username' => 'Itala ang email address o username', 38 38 39 39 'reason' => [ 40 - 'inactive_different_country' => "", 40 + 'inactive_different_country' => "Ang iyong account ay hindi nagamit sa loob ng mahabang panahon. Upang matiyak ang seguridad ng iyong account, paki-reset ng iyong password.", 41 41 ], 42 42 'support' => [ 43 43 '_' => 'Kailangan pa ng tulong? Makipag-usap sa amin sa :button.',
+8 -8
resources/lang/fil/rankings.php
··· 18 18 ], 19 19 20 20 'kudosu' => [ 21 - 'total' => '', 22 - 'available' => '', 23 - 'used' => '', 21 + 'total' => 'Nakuha', 22 + 'available' => 'Magagamit', 23 + 'used' => 'Nagastos', 24 24 ], 25 25 26 26 'type' => [ 27 27 'charts' => 'Mga Spotlight', 28 28 'country' => 'Bansa', 29 - 'kudosu' => '', 29 + 'kudosu' => 'kudosu', 30 30 'multiplayer' => 'multiplayer', 31 31 'performance' => 'Performance', 32 32 'score' => 'Iskor', ··· 34 34 ], 35 35 36 36 'seasons' => [ 37 - 'empty' => '', 38 - 'ongoing' => '', 39 - 'room_count' => '', 40 - 'url' => '', 37 + 'empty' => 'Wala pang mga kwarto sa season na ito.', 38 + 'ongoing' => 'Ang season na ito ay nagpapatuloy pa rin (magkakaroon pa ng mga playlist na idaragdag).', 39 + 'room_count' => 'Bilang ng playlist', 40 + 'url' => 'Magpakita ng higit pang mga impormasyon sa season na iyon.', 41 41 ], 42 42 43 43 'spotlight' => [
+11
resources/lang/fil/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/fil/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Ang markang ito ay minarkahan para sa pagtanggal at mawawala sa lalong madaling panahon.', 9 9 'title' => ':username sa :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Ang laro na may pinakamataas na iskor lamang ang bibigyan ng pp', 28 28 'non_passing' => 'Pasado nga mga iskor lang ang magatimpalaan ng pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'pp ay hindi iginawad para sa iskor na ito', 30 30 'processing' => 'Ang iskor ay pinoproseso pa lamang at maipapakita sa mas madaling panahon', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+34 -34
resources/lang/fil/store.php
··· 52 52 'free' => 'free!', 53 53 54 54 'invoice' => [ 55 - 'contact' => '', 56 - 'date' => '', 55 + 'contact' => 'Kontak:', 56 + 'date' => 'Petsa:', 57 57 'echeck_delay' => 'Dahil ang pagbayad ay eCheck, maari pong magantay ng 10 araw para dumaan ng PayPal ang iyong bayarin!', 58 58 'hide_from_activity' => 'ang mga tag ng osu!supporter sa pagkakasunud-sunod na ito ay hindi ipinapakita sa iyong kamakailang mga aktibidad.', 59 - 'sent_via' => '', 60 - 'shipping_to' => '', 61 - 'title' => '', 59 + 'sent_via' => 'Naipadala sa pamamagitan ng:', 60 + 'shipping_to' => 'Ipapadala sa:', 61 + 'title' => 'Invoice', 62 62 'title_compact' => 'invoice', 63 63 64 64 'status' => [ 65 65 'cancelled' => [ 66 - 'title' => '', 66 + 'title' => 'Ang iyong order ay kinansela', 67 67 'line_1' => [ 68 - '_' => "", 69 - 'link_text' => '', 68 + '_' => "Kung hindi ka humiling ng pagkansela, pakikontak sa :link na nakasipi ang numero ng iyong order (#:order_number).", 69 + 'link_text' => 'suporta ng osu!store', 70 70 ], 71 71 ], 72 72 'delivered' => [ 73 - 'title' => '', 73 + 'title' => 'Ang iyong order ay naihatid na! Umaasa kami na natutuwa ka nito!', 74 74 'line_1' => [ 75 - '_' => '', 76 - 'link_text' => '', 75 + '_' => 'Kung mayroon kang anumang mga isyu sa iyong pagbili, pakikontak sa :link.', 76 + 'link_text' => 'suporta ng osu!store', 77 77 ], 78 78 ], 79 79 'prepared' => [ 80 - 'title' => '', 81 - 'line_1' => '', 82 - 'line_2' => '', 80 + 'title' => 'Ang iyong order ay inihahanda!', 81 + 'line_1' => 'Pakihintay ng kaunti pa upang maipadala ito. Ang impormasyon sa pagsubaybay ay lalabas dito kapag naproseso at naipadala na ang order. Ito ay maaaring tumagal ng hanggang 5 araw (ngunit kadalasang mas kaunti!) depende sa kung gaano kami ka-busy.', 82 + 'line_2' => 'Ipinapadala namin ang lahat ng mga order mula sa Japan gamit ang iba\'t ibang serbisyo sa pagpapadala depende sa bigat at halaga. Ang lugar na ito ay mag-a-update ng mga espesipiko kapag naipadala na namin ang order.', 83 83 ], 84 84 'processing' => [ 85 85 'title' => 'Hindi pa kumpirmado ang iyong bayad!', ··· 90 90 ], 91 91 ], 92 92 'shipped' => [ 93 - 'title' => '', 94 - 'tracking_details' => '', 93 + 'title' => 'Ang iyong order ay naipadala na!', 94 + 'tracking_details' => 'Ang mga detalye ng pagsubaybay ay ang sumusunod:', 95 95 'no_tracking_details' => [ 96 - '_' => "", 97 - 'link_text' => '', 96 + '_' => "Wala kaming mga detalye sa pagsubaybay habang ipinadala namin ang iyong package sa pamamagitan ng Air Mail, ngunit maaari mong asahan na matatanggap ito sa loob ng 1-3 linggo. Para sa Europa, kung minsan ang customs ay maaaring magpabagal ng order sa labas ng aming kontrol. Kung mayroon kang anumang mga alalahanin, pakitugon sa email ng kumpirmasyon ng order na natanggap mo (o :link).", 97 + 'link_text' => 'magpadala sa amin ng isang email', 98 98 ], 99 99 ], 100 100 ], ··· 108 108 'no_orders' => 'Walang maipakitang order.', 109 109 'paid_on' => 'Ipinasa ang order noong :date', 110 110 'resume' => 'Bumalik sa Checkout', 111 - 'shipping_and_handling' => '', 111 + 'shipping_and_handling' => 'Pagpapadala at Pangangasiwa', 112 112 'shopify_expired' => 'Ang link ng checkout para sa order na ito ay nag-expire na.', 113 - 'subtotal' => '', 114 - 'total' => '', 113 + 'subtotal' => 'Subtotal', 114 + 'total' => 'Kabuuan', 115 115 116 116 'details' => [ 117 - 'order_number' => '', 118 - 'payment_terms' => '', 119 - 'salesperson' => '', 120 - 'shipping_method' => '', 121 - 'shipping_terms' => '', 122 - 'title' => '', 117 + 'order_number' => 'Order #', 118 + 'payment_terms' => 'Mga tuntunin sa Pagbabayad', 119 + 'salesperson' => 'Salesperson', 120 + 'shipping_method' => 'Pamamaraan sa Pagpapadala', 121 + 'shipping_terms' => 'Mga tuntunin sa Pagpapadala', 122 + 'title' => 'Mga Detalye ng Pag-order', 123 123 ], 124 124 125 125 'item' => [ ··· 151 151 'paid' => 'Paid', 152 152 'processing' => 'Naghihintay ng kumpirmasyon', 153 153 'shipped' => 'Naipadala', 154 - 'title' => '', 154 + 'title' => 'Status ng Order', 155 155 ], 156 156 157 157 'thanks' => [ 158 - 'title' => '', 158 + 'title' => 'Salamat sa iyong order!', 159 159 'line_1' => [ 160 - '_' => '', 161 - 'link_text' => '', 160 + '_' => 'Makakatanggap ka ng email ng kumpirmasyon sa lalong madaling panahon. Kung mayroon kang anumang mga katanungan, paki :link!', 161 + 'link_text' => 'kontakin kami', 162 162 ], 163 163 ], 164 164 ], ··· 193 193 'username_change' => [ 194 194 'check' => 'Mag-type ng username upang suriin ang kakayahang magamit!', 195 195 'checking' => 'Sinusuri ang availability ng :username...', 196 - 'placeholder' => '', 197 - 'label' => '', 198 - 'current' => '', 196 + 'placeholder' => 'Hiniling na Username', 197 + 'label' => 'Bago na Username', 198 + 'current' => 'Ang iyong kasalukuyang username ay ":username".', 199 199 200 200 'require_login' => [ 201 201 '_' => 'Kailangan mong maging :link upang baguhin ang iyong pangalan!',
+10 -10
resources/lang/fil/users.php
··· 37 37 'blocked_count' => 'mga na-block na user (:count)', 38 38 'hide_profile' => 'Itago ang profile', 39 39 'hide_comment' => 'itago', 40 - 'forum_post_text' => '', 40 + 'forum_post_text' => 'Ang post na ito ay nakatago.', 41 41 'not_blocked' => 'Hindi naka-block ang user na ito.', 42 42 'show_profile' => 'Ipakita ang profile', 43 43 'show_comment' => 'ipakita', ··· 49 49 ], 50 50 51 51 'card' => [ 52 - 'gift_supporter' => '', 52 + 'gift_supporter' => 'Magregalo ng tag sa tagasuporta', 53 53 'loading' => 'Nag lo-load...', 54 54 'send_message' => 'Ipadala ang mensahe', 55 55 ], ··· 124 124 ], 125 125 126 126 'ogp' => [ 127 - 'modding_description' => '', 128 - 'modding_description_empty' => '', 127 + 'modding_description' => 'Mga beatmap :counts', 128 + 'modding_description_empty' => 'Ang user ay walang anumang mga beatmap...', 129 129 130 130 'description' => [ 131 - '_' => '', 132 - 'country' => '', 133 - 'global' => '', 131 + '_' => 'Ranggo (:ruleset): :global | :country', 132 + 'country' => 'Bansa :rank', 133 + 'global' => 'Pandaigdigan :rank', 134 134 ], 135 135 ], 136 136 ··· 170 170 ], 171 171 'restricted_banner' => [ 172 172 'title' => 'Naging limitado ang iyong account!', 173 - 'message' => 'Habang restricted ang account, ikaw ay hindi maaaring makihalubilo sa kapwa kalaro at ang iyong mga iskor ay ikaw lamang ang makakakita. Ito ay madalas ng resulta ng isang automated na proseso at kadalasang ipinapawalang bisa pagkatapos ng 24 oras. Kung nais mong mag-apela sa iyong restriction, <a href="mailto:accounts@ppy.sh">i-contact ang support</a>.', 174 - 'message_link' => '', 173 + 'message' => 'Habang na-restrict, hindi mo magagawang makipag-ugnayan sa ibang mga manlalaro at ikaw lang ang makakakita ng iyong mga iskor. Ito ay kadalasang resulta ng isang awtomatikong proseso at kadalasang maalis sa loob ng 24 na oras. :link', 174 + 'message_link' => 'Suriin ang pahinang ito upang matuto nang higit pa.', 175 175 ], 176 176 'show' => [ 177 177 'age' => ':age taong gulang', ··· 397 397 'date' => 'petsa', 398 398 'action' => 'aksyon', 399 399 'length' => 'tagal', 400 - 'length_indefinite' => '', 400 + 'length_indefinite' => 'Walang katiyakan', 401 401 'description' => 'deskripsyon', 402 402 'actor' => 'ni :username', 403 403
+2 -2
resources/lang/fr/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Il n\'est pas possible de juger pour ce concours.', 85 85 'voting_over' => 'Vous ne pouvez plus modifier votre vote une fois la période de vote passée.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Impossible d'épingler ce type de score", 176 - 'failed' => "", 176 + 'failed' => "Impossible d'épingler un échec.", 177 177 'not_owner' => 'Seul le propriétaire du score peut épingler ce score.', 178 178 'too_many' => 'Trop de scores épinglés.', 179 179 ],
+2
resources/lang/fr/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Cette beatmap devrait être classée le :date si aucun problème n\'est trouvé. Elle est #:position dans la :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'le :date', 217 219 'queue' => 'file d\'attente de classement', 218 220 'soon' => 'bientôt',
+14 -14
resources/lang/fr/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'masquer les entrées jugées', 18 + 'nav_title' => 'juger', 19 + 'no_current_vote' => 'vous n\'avez pas encore voté.', 20 + 'update' => 'enregistrer', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'score manquant', 23 + 'contest_vote_judged' => 'vous ne pouvez pas voter dans un concours qui utilise le système de jugement', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Vous avez déjà voté pour cette entrée.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Résultats du jugement', 30 + 'creator' => 'créateur', 31 + 'score' => 'Score', 32 + 'total_score' => 'score total', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Vous êtes juge de concours. Jugez les entrées ici !', 37 + 'judged_notice' => 'Ce concours utilise le système de jugement, les juges s\'occupent actuellement des entrées.', 38 38 'login_required' => 'Veuillez vous connecter pour voter.', 39 39 'over' => 'Le vote pour ce concours est terminé', 40 - 'show_voted_only' => 'Voir les votes', 40 + 'show_voted_only' => 'Voir vos votes', 41 41 42 42 'best_of' => [ 43 43 'none_played' => "Il semble que vous n'ayez joué aucune beatmap qualifiée pour ce concours !",
-1
resources/lang/fr/home.php
··· 80 80 'action_lazer_title' => 'essayez osu!(lazer)', 81 81 'action_title' => 'télécharger osu!', 82 82 'for_os' => 'pour :os', 83 - 'lazer_note' => 'attention : les classements peuvent être réinitialisés', 84 83 'macos-fallback' => 'utilisateurs macOS', 85 84 'mirror' => 'miroir', 86 85 'or' => 'ou',
+2 -2
resources/lang/fr/layout.php
··· 196 196 'account-edit' => 'Paramètres', 197 197 'follows' => 'Listes de suivi', 198 198 'friends' => 'Amis', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Mode lazer', 200 + 'legacy_score_only_toggle_tooltip' => 'Le mode lazer permet d\'afficher les scores réalisés sur lazer. Ces scores utilisent un nouvel algorithme de calcul du score.', 201 201 'logout' => 'Se déconnecter', 202 202 'profile' => 'Mon profil', 203 203 ],
+2 -2
resources/lang/fr/page_title.php
··· 64 64 '_' => 'commentaires', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'résultats du jugement du concours', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'concours', 71 - 'judge' => '', 71 + 'judge' => 'jugement du concours', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'groupes',
+11
resources/lang/fr/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/fr/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Ce score doit être supprimé et disparaîtra bientôt.', 9 9 'title' => ':username sur :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Seul vos meilleurs scores vous rapportent des pp', 28 28 'non_passing' => 'Seuls les scores que vous avez terminés sans échouer vous rapporteront des pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'Ce score n\'attribue pas de pp', 30 30 'processing' => 'Ce score est toujours en cours de calcul et sera bientôt affiché', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/he/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'מפה זאת תקבל סטטוס Ranked ב:date במידה ולא ימצאו שגיעות. המפה נמצא ב#:position ב:queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '', 217 219 'queue' => 'נבדקת לקבלת Ranking', 218 220 'soon' => 'בקרוב',
-1
resources/lang/he/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => 'משתמשי macOS', 85 84 'mirror' => 'מראה', 86 85 'or' => '',
+11
resources/lang/he/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/he/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => '', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/hr-HR/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Procjenjuje se da će ova beatmapa biti rangirana :date ako nema problema. To je :position. u :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '', 217 219 'queue' => 'red čekanja na rangiranje', 218 220 'soon' => 'uskoro',
-1
resources/lang/hr-HR/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => 'macOS korisnici', 85 84 'mirror' => 'mirror', 86 85 'or' => '',
+11
resources/lang/hr-HR/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/hr-HR/scores.php
··· 28 28 'non_passing' => 'Samo prolazeći rezultati nagrađuju pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Ovaj rezultat se još uvijek izračunava i uskoro će biti prikazan', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/hu/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'A verseny zsűrizése nem aktív.', 85 85 'voting_over' => 'Nem változtathatod meg a szavazatod, mert ennek a versenynek a szavazási ideje lejárt.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Nem lehet ilyen típusú pontszámot kitűzni", 176 - 'failed' => "", 176 + 'failed' => "Nem passzolt pontszám nem rögzíthető.", 177 177 'not_owner' => 'Csak eredménnyel rendelkezők tűzhetnek ki eredményeket.', 178 178 'too_many' => 'Túl sok kitűzött eredmény.', 179 179 ],
+2
resources/lang/hu/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Ez a pálya rangsorolt lesz :date, ha nem merülnek fel további problémák. Jelenleg a #:position helyen áll: :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date', 217 219 'queue' => 'ranglistázási sor', 218 220 'soon' => 'hamarosan',
+13 -13
resources/lang/hu/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'elrejteni az elbírált bejegyzéseket', 18 + 'nav_title' => 'bíró', 19 + 'no_current_vote' => 'még nem szavaztál.', 20 + 'update' => 'frissités', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'hiányzó pontszám', 23 + 'contest_vote_judged' => 'bírált versenyeken nem szavazhat', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Már leadott szavazatot erről a bejegyzésről.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Eredmények elbírálása', 30 + 'creator' => 'készítő', 31 + 'score' => 'Pontszám', 32 + 'total_score' => 'összpontszám', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Ennek a versenynek a bírája vagy. Itt bírálhatod el a bejegyzéseket!', 37 + 'judged_notice' => 'Ez a verseny a bírálati rendszerrel zajlik, a bírálók jelenleg dolgoznak a bejegyzéseken.', 38 38 'login_required' => 'Kérlek jelentkezz be a szavazáshoz.', 39 39 'over' => 'Erre a versenyre már véget ért a szavazás', 40 40 'show_voted_only' => 'Szavazottak mutatása',
-1
resources/lang/hu/home.php
··· 80 80 'action_lazer_title' => 'próbáld ki osu!lazer-t', 81 81 'action_title' => 'osu! letöltése', 82 82 'for_os' => ':os operációs rendszerhez', 83 - 'lazer_note' => 'megjegyzés: ranglista visszaállítások történnek', 84 83 'macos-fallback' => 'macOS használók', 85 84 'mirror' => 'tükör', 86 85 'or' => 'vagy',
+2 -2
resources/lang/hu/layout.php
··· 196 196 'account-edit' => 'Beállítások', 197 197 'follows' => 'Figyelőlisták', 198 198 'friends' => 'Barátok', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer mód', 200 + 'legacy_score_only_toggle_tooltip' => 'A Lazer mód a Lazer által beállított pontszámokat mutatja egy új pontozási algoritmussal', 201 201 'logout' => 'Kijelentkezés', 202 202 'profile' => 'Profilom', 203 203 ],
+2 -2
resources/lang/hu/page_title.php
··· 64 64 '_' => 'hozzászolások', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'verseny zsűrizési eredményei', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'versenyek', 71 - 'judge' => '', 71 + 'judge' => 'verseny zsűrizése', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'csoportok',
+11
resources/lang/hu/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/hu/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Ez a pontszám törlésre van megjelölve, és hamarosan eltűnik.', 9 9 'title' => ':username ezen :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Csak a legjobb személyes pontszámok adnak pp-t', 28 28 'non_passing' => 'Csak sikeres eredmények jutalmaznak pp-t', 29 - 'no_pp' => '', 29 + 'no_pp' => 'pp nem jár ezért a pontszámért', 30 30 'processing' => 'Ez a pontszám még értékelés alatt van és hamarosan mutatva lesz', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+3 -3
resources/lang/id/authorization.php
··· 56 56 'discussion_locked' => 'Diskusi pada beatmap ini telah dikunci.', 57 57 58 58 'metadata' => [ 59 - 'nominated' => 'Kamu tidak dapat mengubah metadata beatmap yang telah dinominasikan. Mohon hubungi anggota BN atau NAT apabila kamu merasa terdapat kesalahan pada metadata beatmap ini.', 59 + 'nominated' => 'Kamu tidak dapat mengubah metadata beatmap yang telah dinominasikan. Hubungi anggota BN atau NAT apabila kamu merasa metadata beatmap ini tidak diatur dengan benar.', 60 60 ], 61 61 ], 62 62 ··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Penjurian kontes ini sedang tidak aktif.', 85 85 'voting_over' => 'Anda tidak dapat mengubah pilihan Anda setelah periode pemungutan suara untuk kontes ini telah berakhir.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Tipe skor ini tidak dapat disematkan", 176 - 'failed' => "", 176 + 'failed' => "Skor yang tidak pass tidak dapat disematkan.", 177 177 'not_owner' => 'Hanya pemilik skor yang dapat menyematkan skor.', 178 178 'too_many' => 'Skor yang disematkan sudah terlalu banyak.', 179 179 ],
+2
resources/lang/id/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Map ini akan berstatus Ranked pada :date apabila tidak terdapat masalah baru yang ditemukan. Map ini berada pada urutan ke-:position dalam :queue yang ada.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'pada :date', 217 219 'queue' => 'antrian ranking', 218 220 'soon' => 'segera',
+13 -13
resources/lang/id/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'sembunyikan entri yang telah dinilai', 18 + 'nav_title' => 'juri', 19 + 'no_current_vote' => 'kamu belum memilih entri mana pun.', 20 + 'update' => 'perbarui', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'skor hilang', 23 + 'contest_vote_judged' => 'tidak dapat memilih dalam kontes berjuri', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Kamu telah memberikan pilihan untuk entri ini.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Hasil penjurian', 30 + 'creator' => 'pembuat', 31 + 'score' => 'Skor', 32 + 'total_score' => 'jumlah skor', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Kamu adalah juri pada kontes ini. Nilai entri yang masuk di sini!', 37 + 'judged_notice' => 'Kontes ini menggunakan sistem penjurian, dan para juri saat ini sedang menilai entri yang masuk.', 38 38 'login_required' => 'Silakan masuk untuk memberikan suara.', 39 39 'over' => 'Pemungutan suara untuk kontes ini telah berakhir', 40 40 'show_voted_only' => 'Tampilkan pilihan',
+1 -1
resources/lang/id/follows.php
··· 33 33 ], 34 34 35 35 'modding' => [ 36 - 'title' => 'laman diskusi beatmap', 36 + 'title' => 'halaman diskusi beatmap', 37 37 ], 38 38 ];
-1
resources/lang/id/home.php
··· 80 80 'action_lazer_title' => 'coba osu!(lazer)', 81 81 'action_title' => 'unduh osu!', 82 82 'for_os' => 'untuk :os', 83 - 'lazer_note' => 'catatan: papan peringkat dapat diatur ulang sewaktu-waktu', 84 83 'macos-fallback' => 'osu! versi macOS', 85 84 'mirror' => 'tautan alternatif', 86 85 'or' => 'atau',
+2 -2
resources/lang/id/layout.php
··· 196 196 'account-edit' => 'Pengaturan', 197 197 'follows' => 'Daftar Pengamatan', 198 198 'friends' => 'Teman', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Mode lazer', 200 + 'legacy_score_only_toggle_tooltip' => 'Mode lazer menampilkan skor yang diraih dari lazer dengan algoritma perhitungan skor baru', 201 201 'logout' => 'Keluar', 202 202 'profile' => 'Profil Saya', 203 203 ],
+1 -1
resources/lang/id/livestreams.php
··· 13 13 'headline' => 'Siaran Langsung', 14 14 'description' => 'Data siaran langsung berikut diperbarui setiap lima menit sekali berdasarkan direktori twitch.tv yang tersedia. Jangan ragu untuk menyiarkan dirimu ke mata dunia! Untuk informasi lebih lanjut seputar cara menyiarkan osu! secara langsung, kunjungi :link.', 15 15 16 - 'link' => 'laman wiki berikut', 16 + 'link' => 'halaman wiki berikut', 17 17 ], 18 18 ];
+1 -1
resources/lang/id/news.php
··· 14 14 15 15 'title' => [ 16 16 '_' => 'berita', 17 - 'info' => 'laman utama', 17 + 'info' => 'beranda', 18 18 ], 19 19 ], 20 20
+2 -2
resources/lang/id/page_title.php
··· 64 64 '_' => 'komentar', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'hasil penjurian kontes', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'kontes', 71 - 'judge' => '', 71 + 'judge' => 'penjurian kontes', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'grup',
+1 -1
resources/lang/id/password_reset.php
··· 22 22 ], 23 23 24 24 'notice' => [ 25 - 'sent' => 'Periksa emailmu untuk menerima kode verifikasi.', 25 + 'sent' => 'Periksa emailmu untuk memperoleh kode verifikasi.', 26 26 'saved' => 'Kata sandi baru disimpan!', 27 27 ], 28 28
+11
resources/lang/id/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/id/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Skor ini ditandai untuk dihapus dan akan menghilang dalam waktu dekat.', 9 9 'title' => ':username pada :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Hanya skor-skor terbaik yang memberikan pp', 28 28 'non_passing' => 'Hanya skor pass yang memberikan pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'pp tidak diberikan untuk skor ini', 30 30 'processing' => 'Skor ini sedang diproses dan akan ditampilkan kemudian', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+1 -1
resources/lang/id/store.php
··· 83 83 ], 84 84 'processing' => [ 85 85 'title' => 'Pembayaranmu belum terkonfirmasi!', 86 - 'line_1' => 'Apabila kamu telah membayar sebelumnya, ada kemungkinan sistem kami masih menunggu konfirmasi atas pembayaranmu. Silakan muat ulang halaman ini dalam beberapa menit!', 86 + 'line_1' => 'Apabila kamu telah membayar, ada kemungkinan sistem kami masih menunggu konfirmasi atas pembayaranmu. Silakan muat ulang halaman ini dalam beberapa menit!', 87 87 'line_2' => [ 88 88 '_' => 'Apabila kamu menemui masalah dalam proses checkout, :link', 89 89 'link_text' => 'klik di sini untuk melanjutkan proses checkout',
+2 -2
resources/lang/id/tournament.php
··· 43 43 44 44 'state' => [ 45 45 'before_registration' => 'Pendaftaran untuk turnamen ini masih belum dibuka.', 46 - 'ended' => 'Turnamen ini telah berakhir. Mohon periksa laman informasi untuk hasil turnamen selengkapnya.', 46 + 'ended' => 'Turnamen ini telah berakhir. Silakan kunjungi halaman informasi untuk hasil turnamen selengkapnya.', 47 47 'registration_closed' => 'Pendaftaran untuk turnamen ini telah ditutup. Mohon periksa laman informasi untuk keterangan lebih lanjut.', 48 - 'running' => 'Turnamen ini sedang berlangsung. Mohon periksa laman informasi untuk keterangan lebih lanjut.', 48 + 'running' => 'Turnamen ini sedang berlangsung. Silakan kunjungi halaman informasi untuk keterangan lebih lanjut.', 49 49 ], 50 50 ], 51 51 'tournament_period' => ':start hingga :end',
+2 -2
resources/lang/id/wiki.php
··· 11 11 'missing_title' => 'Tidak Ditemukan', 12 12 'missing_translation' => 'Laman yang diminta tidak ditemukan untuk bahasa yang saat ini dipilih.', 13 13 'needs_cleanup_or_rewrite' => 'Laman ini tidak memenuhi standar osu! wiki dan perlu dirapikan atau ditulis ulang. Apabila kamu berkenan, mohon bantu kami untuk memperbarui artikel ini!', 14 - 'search' => 'Cari laman yang ada untuk :link.', 14 + 'search' => 'Cari halaman yang ada untuk :link.', 15 15 'stub' => 'Artikel ini merupakan artikel rintisan yang sedang menunggu untuk dikembangkan lebih lanjut.', 16 16 'toc' => 'Konten', 17 17 ··· 22 22 23 23 'translation' => [ 24 24 'legal' => 'Terjemahan ini diberikan semata-mata untuk memudahkan. :default dari artikel ini merupakan satu-satunya versi artikel yang mengikat secara hukum.', 25 - 'outdated' => 'Laman ini mengandung terjemahan yang telah kedaluwarsa dari artikel aslinya. Mohon periksa :default dari artikel ini untuk mendapatkan informasi yang paling akurat (dan apabila kamu berkenan, mohon bantu kami untuk memperbarui terjemahan ini)!', 25 + 'outdated' => 'Halaman ini mengandung terjemahan yang telah kedaluwarsa dari artikel aslinya. Mohon periksa :default dari artikel ini untuk mendapatkan informasi yang paling akurat (dan apabila kamu berkenan, mohon bantu kami untuk memperbarui terjemahan ini)!', 26 26 27 27 'default' => 'Versi Bahasa Inggris', 28 28 ],
+2 -2
resources/lang/it/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'La valutazione per questo concorso non è attiva.', 85 85 'voting_over' => 'Non puoi cambiare il tuo voto quando il periodo di votazione per questo contest è finito.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Impossibile fissare questo tipo di punteggio", 176 - 'failed' => "", 176 + 'failed' => "Non puoi fissare un punteggio incompleto.", 177 177 'not_owner' => 'Solo il proprietario del punteggio può fissarlo.', 178 178 'too_many' => 'Hai già fissato troppi punteggi.', 179 179 ],
+2
resources/lang/it/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'È stimato che questa mappa verrà classificata in data :date se non vengono trovati problemi. È in posizione #:position nella :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'il giorno :date', 217 219 'queue' => 'coda per la classifica', 218 220 'soon' => 'molto vicina',
+14 -14
resources/lang/it/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'nascondi le voci valutate', 18 + 'nav_title' => 'giudice', 19 + 'no_current_vote' => 'non hai ancora votato.', 20 + 'update' => 'aggiorna', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'punteggio mancante', 23 + 'contest_vote_judged' => 'non puoi votare nei concorsi con valutazione', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Hai già presentato un voto per questa voce.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Risultati della valutazione', 30 + 'creator' => 'autore', 31 + 'score' => 'Punteggio', 32 + 'total_score' => 'punteggio totale', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Sei un giudice di questo concorso. Valuta qui le iscrizioni!', 37 + 'judged_notice' => 'Questo concorso sta utilizzando il sistema di valutazione, i giudici stanno attualmente analizzando le voci.', 38 38 'login_required' => 'Effettua il login per poter votare.', 39 39 'over' => 'Le votazioni per questo contest sono terminate', 40 40 'show_voted_only' => 'Mostra votati', ··· 89 89 ], 90 90 91 91 'dates' => [ 92 - 'ended' => 'Terminato :date', 92 + 'ended' => 'Terminato il giorno :date', 93 93 'ended_no_date' => 'Terminato', 94 94 95 95 'starts' => [
+1 -1
resources/lang/it/forum.php
··· 360 360 361 361 'detail' => [ 362 362 'end_time' => 'Il sondaggio scade tra :time', 363 - 'ended' => 'Il sondaggio è finito :time', 363 + 'ended' => 'Il sondaggio è finito il giorno :time', 364 364 'results_hidden' => 'I risultati saranno mostrati dopo il termine della votazione.', 365 365 'total' => 'Voti totali: :count', 366 366 ],
-1
resources/lang/it/home.php
··· 80 80 'action_lazer_title' => 'prova osu!(lazer)', 81 81 'action_title' => 'scarica osu!', 82 82 'for_os' => 'per :os', 83 - 'lazer_note' => 'attenzione: si applicano reset alle classifiche', 84 83 'macos-fallback' => 'utenti macOS', 85 84 'mirror' => 'mirror', 86 85 'or' => 'oppure',
+2 -2
resources/lang/it/layout.php
··· 196 196 'account-edit' => 'Impostazioni', 197 197 'follows' => 'Iscrizioni', 198 198 'friends' => 'Amici', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Modalità lazer', 200 + 'legacy_score_only_toggle_tooltip' => 'La modalità lazer mostra i punteggi di lazer con un nuovo algoritmo dei punti', 201 201 'logout' => 'Esci', 202 202 'profile' => 'Profilo', 203 203 ],
+2 -2
resources/lang/it/page_title.php
··· 64 64 '_' => 'commenti', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'risultati della valutazione di concorso', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'concorsi', 71 - 'judge' => '', 71 + 'judge' => 'valutazione di concorso', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'gruppi',
+11
resources/lang/it/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/it/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Questo punteggio è contrassegnato per la cancellazione e scomparirà presto.', 9 9 'title' => ':username su :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Solo i punteggi migliori conferiscono pp', 28 28 'non_passing' => 'Solo i punteggi passati conferiscono pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'non viene assegnato pp per questo punteggio', 30 30 'processing' => 'Questo punteggio dev\'essere ancora calcolato e verrà mostrato presto', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/ja/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'このマップは、問題が見つからなければ :date にrankedされると推定されます。:queue 内の #:position ', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '', 217 219 'queue' => 'ランキングキュー', 218 220 'soon' => '間もなく',
-1
resources/lang/ja/home.php
··· 80 80 'action_lazer_title' => 'osu!(lazer)を試す', 81 81 'action_title' => 'osu!をダウンロード', 82 82 'for_os' => ':os 版', 83 - 'lazer_note' => '注意: リーダーボードのリセットが適用されます', 84 83 'macos-fallback' => 'macOSユーザー', 85 84 'mirror' => 'ミラー', 86 85 'or' => 'または',
+1 -1
resources/lang/ja/layout.php
··· 112 112 'legal' => [ 113 113 '_' => 'Legal & Status', 114 114 'copyright' => '著作権 (DMCA)', 115 - 'jp_sctl' => '', 115 + 'jp_sctl' => '特定商取引法', 116 116 'privacy' => 'プライバシー', 117 117 'server_status' => 'サーバー状態', 118 118 'source_code' => 'ソースコード',
+11
resources/lang/ja/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/ja/scores.php
··· 28 28 'non_passing' => 'パスしたスコアのみppを付与', 29 29 'no_pp' => '', 30 30 'processing' => 'このスコアはまだ計算中です。すぐに表示されます。', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/kk-KZ/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Мәселе табылмаса, бұл картаның рейтингі :date күні беріледі. Бұл :queue ішінде #:position тұр.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date күні', 217 219 'queue' => 'рейтинг беру кезегі', 218 220 'soon' => 'жуырда',
-1
resources/lang/kk-KZ/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => '', 85 84 'mirror' => '', 86 85 'or' => '',
+11
resources/lang/kk-KZ/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/kk-KZ/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => '', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/ko/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => '이 콘테스트의 심사는 아직 활성화되지 않았습니다.', 85 85 'voting_over' => '투표 기간 이후에는 콘테스트가 끝날 때 까지 선택한 투표를 바꿀 수 없습니다.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "이러한 유형의 점수는 고정할 수 없습니다", 176 - 'failed' => "", 176 + 'failed' => "클리어 하지 못한 점수는 고정할 수 없습니다.", 177 177 'not_owner' => '점수 소유자만 점수를 고정할 수 있습니다.', 178 178 'too_many' => '너무 많은 점수를 고정했습니다.', 179 179 ],
+2
resources/lang/ko/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => '이 맵에서 문제가 발견되지 않으면 :date Ranked 상태가 될 예정입니다. 현재 :queue의 #:position번째 순서입니다.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date에', 217 219 'queue' => '랭크 대기열', 218 220 'soon' => '곧',
+13 -13
resources/lang/ko/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => '심사된 항목 숨기기', 18 + 'nav_title' => '심사', 19 + 'no_current_vote' => '아직은 투표할 수 없습니다.', 20 + 'update' => '적용', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => '존재하지 않는 점수', 23 + 'contest_vote_judged' => '심사된 콘테스트에는 투표할 수 없습니다', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => '이 출품작에는 이미 투표를 했습니다.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => '심사 결과', 30 + 'creator' => '제작자', 31 + 'score' => '점수', 32 + 'total_score' => '총 점수', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => '이 콘테스트의 심사위원입니다. 출품작의 심사는 이곳에서 하세요!', 37 + 'judged_notice' => '이 콘테스트는 심사 시스템을 사용하고 있으며, 심사위원이 현재 출품작을 처리하고 있습니다.', 38 38 'login_required' => '투표하려면 로그인해주세요.', 39 39 'over' => '이 콘테스트의 투표가 종료되었습니다.', 40 40 'show_voted_only' => '투표한 항목만 보기',
-1
resources/lang/ko/home.php
··· 80 80 'action_lazer_title' => 'osu!(lazer) 체험하기', 81 81 'action_title' => 'osu! 다운로드', 82 82 'for_os' => ':os 전용', 83 - 'lazer_note' => '참고: 점수가 초기화될 수 있습니다', 84 83 'macos-fallback' => 'macOS 유저', 85 84 'mirror' => '미러', 86 85 'or' => '혹은',
+3 -3
resources/lang/ko/layout.php
··· 112 112 'legal' => [ 113 113 '_' => '법률 & 상태', 114 114 'copyright' => '저작권 (DMCA)', 115 - 'jp_sctl' => '', 115 + 'jp_sctl' => '특정상거래법', 116 116 'privacy' => '개인 정보 보호 정책', 117 117 'server_status' => '서버 상태 확인', 118 118 'source_code' => '소스 코드', ··· 196 196 'account-edit' => '설정', 197 197 'follows' => '관심 목록', 198 198 'friends' => '친구', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer 모드', 200 + 'legacy_score_only_toggle_tooltip' => 'Lazer 모드는 osu!lazer에서 새로운 점수 알고리즘으로 등록한 점수를 표시합니다', 201 201 'logout' => '로그아웃', 202 202 'profile' => '내 프로필', 203 203 ],
+2 -2
resources/lang/ko/page_title.php
··· 64 64 '_' => '댓글', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => '콘테스트 심사 결과', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => '콘테스트', 71 - 'judge' => '', 71 + 'judge' => '콘테스트 심사', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => '그룹',
+11
resources/lang/ko/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/ko/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => '이 점수는 삭제 될 예정입니다.', 9 9 'title' => ':title에서의 :username님 [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => '개인 최고 점수만 pp를 얻습니다.', 28 28 'non_passing' => '통과한 점수만 pp를 얻습니다', 29 - 'no_pp' => '', 29 + 'no_pp' => '이 점수에는 pp가 부여되지 않습니다.', 30 30 'processing' => '이 점수는 아직 계산 중이며 곧 표시될 예정입니다.', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/lt/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Numatoma, kad šis bitmapas bus reitinguotas :date, jei nebus rasta problemų. Jis yra #:position tarp :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date', 217 219 'queue' => 'reitingavimo eilės', 218 220 'soon' => 'greitai',
-1
resources/lang/lt/home.php
··· 80 80 'action_lazer_title' => 'išbandyk osu!(lazer)', 81 81 'action_title' => 'atsisiųsti osu!', 82 82 'for_os' => 'skirtas :os', 83 - 'lazer_note' => 'pastaba: rezultatų lentos atstatymai galioja', 84 83 'macos-fallback' => 'macOS vartotojams', 85 84 'mirror' => 'dubliavimas', 86 85 'or' => 'arba',
+11
resources/lang/lt/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/lt/scores.php
··· 28 28 'non_passing' => 'Tik įveikimų rezultatai duoda pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Šis reultatas dar apskaičiuojamas ir netrukus bus parodytas', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+4 -4
resources/lang/lv-LV/accounts.php
··· 9 9 'username' => 'lietotājvārds', 10 10 11 11 'avatar' => [ 12 - 'title' => 'Profila attēls', 12 + 'title' => 'Avatārs', 13 13 'rules' => 'Lūdzu, pārliecinieties, ka jūsu profila attēls atbilst :link.<br/>Tas nozīmē, ka attēlam jābūt <strong>piemērotam visiem vecumiem</strong>, t.i., bez kailuma, rupjībām vai ierosinoša satura.', 14 14 'rules_link' => 'kopienas noteikumi', 15 15 ], ··· 63 63 ], 64 64 65 65 'github_user' => [ 66 - 'info' => "", 66 + 'info' => "Ja esat ieguldītājs osu! atvērtā koda repozitorijos, sasaistot savu GitHub kontu šeit un jūsu izmaiņu žurnāla ieraksti tiks saistīti ar jūsu osu! profilu. GitHub kontus, kuriem nav ieguldījumu vēstures osu!, nevar sasaistīt.", 67 67 'link' => 'Pievienot GitHub kontu', 68 68 'title' => 'GitHub', 69 69 'unlink' => 'Atvienot GitHub kontu', 70 70 71 71 'error' => [ 72 72 'already_linked' => 'Šis GitHub konts jau ir pievienots citam lietotājam.', 73 - 'no_contribution' => '', 74 - 'unverified_email' => '', 73 + 'no_contribution' => 'Nevar sasaistīt GitHub kontu bez jebkādas ieguldījumu vēstures osu! repozitorijos.', 74 + 'unverified_email' => 'Lūdzu, apstriprinā savu primāro e-pasta adresi GitHub un pēc tam mēģiniet vēlreiz sasaistīt kontu.', 75 75 ], 76 76 ], 77 77
+2
resources/lang/lv-LV/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Tiek paredzēts, ka šī mape tiks ierindota :date, ja netiks konstatētas problēmas. Tā ir #:position :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date', 217 219 'queue' => 'ierindošanas rinda', 218 220 'soon' => 'drīz',
+13 -13
resources/lang/lv-LV/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'paslēpt vērtētos ierakstus', 18 + 'nav_title' => 'tiesāt', 19 + 'no_current_vote' => 'tu vēl nebalsoji.', 20 + 'update' => 'atjaunināt', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'trūkst rezultāts', 23 + 'contest_vote_judged' => 'nevar balsot vērtētos konkursos', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Tu jau esi balsojis par šo ierakstu.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Vērtēšanas rezultāti', 30 + 'creator' => 'autors', 31 + 'score' => 'Rezultāts', 32 + 'total_score' => 'Kopējais rezultāts', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Tu esi šī konkursa tiesnesis. Iesniegtos ierakstus vērtē šeit!', 37 + 'judged_notice' => 'Šajā konkursā tiek izmantota vērtēšanas sistēma, vērtētāji pašlaik apstrādā iesniegtos darbus.', 38 38 'login_required' => 'Lūdzu, pierakstieties, lai balsotu.', 39 39 'over' => 'Balsošana par šo konkursu ir beigusies', 40 40 'show_voted_only' => 'Rādīt balsotos',
-1
resources/lang/lv-LV/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => 'macOS lietotāji', 85 84 'mirror' => 'instalācija', 86 85 'or' => '',
+11
resources/lang/lv-LV/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/lv-LV/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => '', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/ms-MY/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => '', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '', 217 219 'queue' => '', 218 220 'soon' => '',
-1
resources/lang/ms-MY/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => '', 85 84 'mirror' => '', 86 85 'or' => '',
+11
resources/lang/ms-MY/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/ms-MY/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => '', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/nl/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Deze map staat gepland om ranked te worden op :date als er geen problemen worden gevonden. Het is #:position in de :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'op :date', 217 219 'queue' => 'ranking wachtlijst', 218 220 'soon' => 'binnenkort',
-1
resources/lang/nl/home.php
··· 80 80 'action_lazer_title' => 'probeer osu!(lazer)', 81 81 'action_title' => 'download osu!', 82 82 'for_os' => 'voor :os', 83 - 'lazer_note' => 'opmerking: leaderboard resets zijn van toepassing', 84 83 'macos-fallback' => 'macOS gebruikers', 85 84 'mirror' => 'mirror', 86 85 'or' => 'of',
+11
resources/lang/nl/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/nl/scores.php
··· 28 28 'non_passing' => 'Alleen geslaagde scores leveren pp op', 29 29 'no_pp' => '', 30 30 'processing' => 'Deze score wordt nog berekend en zal zo dadelijk getoond worden', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+12 -12
resources/lang/no/accounts.php
··· 19 19 'new_confirmation' => 'bekreft e-post', 20 20 'title' => 'E-post', 21 21 'locked' => [ 22 - '_' => '', 23 - 'accounts' => '', 22 + '_' => 'Vennligst kontakt :accounts dersom du trenger e-posten din oppdatert.', 23 + 'accounts' => 'brukerstøtteteam', 24 24 ], 25 25 ], 26 26 ··· 38 38 ], 39 39 40 40 'profile' => [ 41 - 'country' => '', 41 + 'country' => 'land', 42 42 'title' => 'Profil', 43 43 44 44 'country_change' => [ 45 - '_' => "", 46 - 'update_link' => '', 45 + '_' => "Det ser ut til at landet på kontoen din ikke samsvarer med landet du bor i. :update_link.", 46 + 'update_link' => 'Oppdater til :country', 47 47 ], 48 48 49 49 'user' => [ ··· 63 63 ], 64 64 65 65 'github_user' => [ 66 - 'info' => "", 67 - 'link' => '', 68 - 'title' => '', 69 - 'unlink' => '', 66 + 'info' => "Hvis du er en bidragsyter til osu!s åpne kildekode, kan du knytte endringene dine med osu! profilen ved å koble til GitHub-kontoen din her. GitHub-kontoer uten bidragshistorikk til osu! kan ikke bli koblet til.", 67 + 'link' => 'Koble til GitHub-konto', 68 + 'title' => 'GitHub', 69 + 'unlink' => 'Koble fra GitHub-konto', 70 70 71 71 'error' => [ 72 - 'already_linked' => '', 73 - 'no_contribution' => '', 74 - 'unverified_email' => '', 72 + 'already_linked' => 'Denne GitHub-kontoen er allerede koblet til en annen bruker.', 73 + 'no_contribution' => 'Kan ikke koble GitHub-konto uten bidragshistorikk i osu! kildekode.', 74 + 'unverified_email' => 'Vennligst bekreft din primære e-postadresse på GitHub, og så prøv å koble til kontoen på nytt.', 75 75 ], 76 76 ], 77 77
+2 -2
resources/lang/no/api.php
··· 17 17 'identify' => 'Identifiser deg selv og les din offentlige profil.', 18 18 19 19 'chat' => [ 20 - 'read' => '', 20 + 'read' => 'Les meldinger på dine vegne.', 21 21 'write' => 'Send meldinger på dine vegne.', 22 - 'write_manage' => '', 22 + 'write_manage' => 'Bli med og forlat kanaler på dine vegne.', 23 23 ], 24 24 25 25 'forum' => [
+3 -3
resources/lang/no/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Dømming for denne konkurransen er ikke aktiv.', 85 85 'voting_over' => 'Du kan ikke endre stemmen din etter den stemmeberettigede perioden for denne konkurransen har avsluttet.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Kan ikke feste denne typen score", 176 - 'failed' => "", 176 + 'failed' => "Kan ikke feste ikke-bestått score.", 177 177 'not_owner' => 'Kun resultateieren kan festeresultat.', 178 178 'too_many' => 'Festet for mange resultater.', 179 179 ], ··· 188 188 ], 189 189 ], 190 190 'update_email' => [ 191 - 'locked' => '', 191 + 'locked' => 'e-postadressen er låst', 192 192 ], 193 193 ], 194 194 ];
+1 -1
resources/lang/no/beatmap_discussions.php
··· 26 26 'deleted' => 'Inkluder slettede diskusjoner', 27 27 'mode' => 'Beatmap modus', 28 28 'only_unresolved' => 'Vis bare uløste tråder', 29 - 'show_review_embeds' => '', 29 + 'show_review_embeds' => 'Vis anmeldelsesinnlegg', 30 30 'types' => 'Meldingstyper', 31 31 'username' => 'Brukernavn', 32 32
+12 -10
resources/lang/no/beatmaps.php
··· 79 79 ], 80 80 81 81 'message_type_title' => [ 82 - 'disqualify' => '', 83 - 'hype' => '', 84 - 'mapper_note' => '', 85 - 'nomination_reset' => '', 86 - 'praise' => '', 87 - 'problem' => '', 88 - 'problem_warning' => '', 89 - 'review' => '', 90 - 'suggestion' => '', 82 + 'disqualify' => 'Legg ut Diskvalifikasjon', 83 + 'hype' => 'Legg ut Hype!', 84 + 'mapper_note' => 'Legg ut Notat', 85 + 'nomination_reset' => 'Fjern alle Nominasjoner', 86 + 'praise' => 'Legg ut Ros', 87 + 'problem' => 'Legg ut Problem', 88 + 'problem_warning' => 'Legg ut Problem', 89 + 'review' => 'Legg ut Anmeldelse', 90 + 'suggestion' => 'Legg ut Forslag', 91 91 ], 92 92 93 93 'mode' => [ ··· 188 188 189 189 'nominations' => [ 190 190 'already_nominated' => 'Du har allerede nominert dette beatmappet.', 191 - 'cannot_nominate' => '', 191 + 'cannot_nominate' => 'Du kan ikke nominere beatmaps i denne spillmodusen.', 192 192 'delete' => 'Slett', 193 193 'delete_own_confirm' => 'Er du sikker? Beatmappet vil bli slettet og du vil bli omdirigert tilbake til profilen din.', 194 194 'delete_other_confirm' => 'Er du sikker? Beatmappet vil bli slettet og du vil bli omdirigert tilbake til brukeren sin profil.', ··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Dette kartet er estimert til å bli rangert som :date hvis ingen problemer er funnet. Det er #:position i :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'den :date', 217 219 'queue' => 'rangerings kø ', 218 220 'soon' => 'snart',
+3 -3
resources/lang/no/beatmapsets.php
··· 40 40 ], 41 41 42 42 'nominate' => [ 43 - 'hybrid_requires_modes' => '', 43 + 'hybrid_requires_modes' => 'Et hybrid beatmap krever at du velger minst en spillmodus å nominere for.', 44 44 'incorrect_mode' => 'Du har ikke tillatelse til å nominere for modus: :mode', 45 - 'full_bn_required' => '', 45 + 'full_bn_required' => 'Du må være en full nominator for å kunne utføre denne kvalifiserende nominasjonen.', 46 46 'too_many' => 'Nominasjonskravet er allerede oppfylt.', 47 47 48 48 'dialog' => [ ··· 61 61 'discussion' => 'Diskusjon', 62 62 63 63 'admin' => [ 64 - 'full_size_cover' => '', 64 + 'full_size_cover' => 'Vis omslagsbilde i full størrelse', 65 65 ], 66 66 67 67 'deleted_banner' => [
+1 -1
resources/lang/no/chat.php
··· 36 36 37 37 'labels' => [ 38 38 'description' => 'beskrivelse', 39 - 'message' => '', 39 + 'message' => 'melding', 40 40 'name' => 'romnavn', 41 41 'users' => 'spillere å legge til', 42 42 ],
+1 -1
resources/lang/no/comments.php
··· 44 44 ], 45 45 46 46 'ogp' => [ 47 - 'title' => '', 47 + 'title' => 'kommentar av :user', 48 48 ], 49 49 50 50 'placeholder' => [
+13 -13
resources/lang/no/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'skjul dømmede innslag', 18 + 'nav_title' => 'dommer', 19 + 'no_current_vote' => 'du har ikke stemt enda.', 20 + 'update' => 'oppdater', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'manglende score', 23 + 'contest_vote_judged' => 'kan ikke stemme i dømmede konkurranser', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Du har allerede sendt inn en stemme på dette innslaget.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Resultatene fra juryen', 30 + 'creator' => 'skaper', 31 + 'score' => 'Score', 32 + 'total_score' => 'total score', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Du er en dommer i denne konkurransen. Døm innslagene her!', 37 + 'judged_notice' => 'Denne konkurransen bruker dommersystemet, dommerne dømmer innslagene for øyeblikket.', 38 38 'login_required' => 'Vennligst logg inn for å stemme.', 39 39 'over' => 'Avstemmingen for denne konkurransen har avsluttet', 40 40 'show_voted_only' => 'Vis stemte',
+1 -1
resources/lang/no/events.php
··· 27 27 ], 28 28 29 29 'value' => [ 30 - 'rank' => '', 30 + 'rank' => 'rang #:rank', 31 31 ], 32 32 ];
-1
resources/lang/no/home.php
··· 80 80 'action_lazer_title' => 'prøv osu!(lazer)', 81 81 'action_title' => 'last ned osu!', 82 82 'for_os' => 'for :os', 83 - 'lazer_note' => 'merknad: tilbakestilling av rangeringsliste gjelder', 84 83 'macos-fallback' => 'macOS brukere', 85 84 'mirror' => 'alternativ link', 86 85 'or' => 'eller',
+2 -2
resources/lang/no/layout.php
··· 196 196 'account-edit' => 'Innstillinger', 197 197 'follows' => 'Overvåkningslister', 198 198 'friends' => 'Venner', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer modus', 200 + 'legacy_score_only_toggle_tooltip' => 'Lazer modus viser scorer satt fra lazer med en ny scoringsalgoritme', 201 201 'logout' => 'Logg Ut', 202 202 'profile' => 'Min Profil', 203 203 ],
+3 -3
resources/lang/no/notifications.php
··· 58 58 'beatmapset_discussion_unlock_compact' => 'Diskusjon var ulåst', 59 59 60 60 'review_count' => [ 61 - 'praises' => '', 62 - 'problems' => '', 63 - 'suggestions' => '', 61 + 'praises' => ':count_delimited ros|:count_delimited roser', 62 + 'problems' => ':count_delimited problem|:count_delimited problemer', 63 + 'suggestions' => ':count_delimited forslag|:count_delimited forslag', 64 64 ], 65 65 ], 66 66
+2 -2
resources/lang/no/page_title.php
··· 64 64 '_' => 'kommentarer', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'konkurransedømmingsresultater', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'konkurranser', 71 - 'judge' => '', 71 + 'judge' => 'konkurransedømming', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'grupper',
+1 -1
resources/lang/no/password_reset.php
··· 37 37 'username' => 'Skriv inn e-postadresse eller brukernavn', 38 38 39 39 'reason' => [ 40 - 'inactive_different_country' => "", 40 + 'inactive_different_country' => "Brukeren din har ikke blitt brukt på en lang tid. For å sikre kontoen din, vennligst tilbakestill passordet ditt.", 41 41 ], 42 42 'support' => [ 43 43 '_' => 'Trenger du mer hjelp? Kontakt oss via vårt :button.',
+4 -4
resources/lang/no/rankings.php
··· 18 18 ], 19 19 20 20 'kudosu' => [ 21 - 'total' => '', 22 - 'available' => '', 23 - 'used' => '', 21 + 'total' => 'Opptjent', 22 + 'available' => 'Tilgjengelig', 23 + 'used' => 'Brukt', 24 24 ], 25 25 26 26 'type' => [ 27 27 'charts' => 'Rampelyset', 28 28 'country' => 'Land', 29 - 'kudosu' => '', 29 + 'kudosu' => 'kudosu', 30 30 'multiplayer' => 'flerspiller', 31 31 'performance' => 'Prestasjon', 32 32 'score' => 'Poengsum',
+11
resources/lang/no/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/no/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Denne scoren er markert for sletting og vil forsvinne snart.', 9 9 'title' => ':username på :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Kun personlige rekorder tilldeler pp', 28 28 'non_passing' => 'Kun gjenomførte kart tilldeler pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'pp er ikke tildelt for denne scoren', 30 30 'processing' => 'Denne scoren blir fremdeles beregnet og vil vises snart', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+36 -36
resources/lang/no/store.php
··· 6 6 return [ 7 7 'cart' => [ 8 8 'checkout' => 'Gå til kassen', 9 - 'empty_cart' => '', 9 + 'empty_cart' => 'Fjern alle varer fra handlevognen', 10 10 'info' => ':count_delimited ting i kurven ($:subtotal)|:count_delimited items i vogn ($:subtotal)', 11 11 'more_goodies' => 'Jeg vil se på flere produkter før jeg fullfører bestillingen', 12 12 'shipping_fees' => 'fraktkostnader', ··· 49 49 ], 50 50 51 51 'discount' => 'spar :percent%', 52 - 'free' => '', 52 + 'free' => 'gratis!', 53 53 54 54 'invoice' => [ 55 - 'contact' => '', 56 - 'date' => '', 55 + 'contact' => 'Kontakt:', 56 + 'date' => 'Dato:', 57 57 'echeck_delay' => 'Ettersom betalingen din var en eCheck, vennligst tillatt opp til 10 ekstra dager for at betalingen skal kunne komme gjennom PayPal!', 58 58 'hide_from_activity' => 'osu!supporter tag i denne bestillingen vises ikke i dine nylige aktiviteter.', 59 - 'sent_via' => '', 60 - 'shipping_to' => '', 61 - 'title' => '', 59 + 'sent_via' => 'Sendt Via:', 60 + 'shipping_to' => 'Frakt til:', 61 + 'title' => 'Faktura', 62 62 'title_compact' => 'faktura', 63 63 64 64 'status' => [ 65 65 'cancelled' => [ 66 - 'title' => '', 66 + 'title' => 'Bestillingen din er kansellert', 67 67 'line_1' => [ 68 - '_' => "", 69 - 'link_text' => '', 68 + '_' => "Hvis du ikke forespurte en kansellering, vennligst kontakt :link med ordrenummeret ditt (#:order_number).", 69 + 'link_text' => 'osu!store støtte', 70 70 ], 71 71 ], 72 72 'delivered' => [ 73 - 'title' => '', 73 + 'title' => 'Bestillingen din har blitt levert! Vi håper du liker den!', 74 74 'line_1' => [ 75 - '_' => '', 76 - 'link_text' => '', 75 + '_' => 'Hvis du har problemer med kjøpet, vennligst kontakt :link.', 76 + 'link_text' => 'osu!store støtte', 77 77 ], 78 78 ], 79 79 'prepared' => [ 80 - 'title' => '', 81 - 'line_1' => '', 82 - 'line_2' => '', 80 + 'title' => 'Bestillingen din behandles for øyeblikket!', 81 + 'line_1' => 'Vennligst vent litt lenger på frakt. Sporingsinformasjon vises her når bestillingen er behandlet og sendt. Dette kan ta opptil 5 dager (men vanligvis mindre!) avhengig av hvor opptatt vi er.', 82 + 'line_2' => 'Vi sender alle bestillinger fra Japan med ulike frakttjenester ut ifra vekt og verdi. Denne siden vil oppdateres med detaljer når vi har sendt bestillingen.', 83 83 ], 84 84 'processing' => [ 85 85 'title' => 'Din betaling har enda ikke blitt bekreftet!', ··· 90 90 ], 91 91 ], 92 92 'shipped' => [ 93 - 'title' => '', 94 - 'tracking_details' => '', 93 + 'title' => 'Bestillingen din har blitt sendt!', 94 + 'tracking_details' => 'Sporingsdetaljer følger:', 95 95 'no_tracking_details' => [ 96 - '_' => "", 97 - 'link_text' => '', 96 + '_' => "Vi har ikke sporingsdetaljer da vi sendte pakken din via Air Mail, men du kan forvente å motta pakken i løpet av 1-3 uker. For Europa kan toll noen ganger forsinke bestillingen utenfor vår kontroll. Hvis du har noen bekymringer, vennligst svar på ordrebekreftelsen du mottok på e-post (eller på :link).", 97 + 'link_text' => 'send oss en e-post', 98 98 ], 99 99 ], 100 100 ], ··· 108 108 'no_orders' => 'Ingen bestillinger å vise.', 109 109 'paid_on' => 'Bestilling plassert den :date', 110 110 'resume' => 'Tilbake til kassen', 111 - 'shipping_and_handling' => '', 111 + 'shipping_and_handling' => 'Frakt & Håndtering', 112 112 'shopify_expired' => 'Utsjekkingslenken for denne bestillingen er utløpt.', 113 - 'subtotal' => '', 114 - 'total' => '', 113 + 'subtotal' => 'Delsum', 114 + 'total' => 'Sum', 115 115 116 116 'details' => [ 117 - 'order_number' => '', 118 - 'payment_terms' => '', 119 - 'salesperson' => '', 120 - 'shipping_method' => '', 121 - 'shipping_terms' => '', 122 - 'title' => '', 117 + 'order_number' => 'Ordre #', 118 + 'payment_terms' => 'Betalingsbetingelser', 119 + 'salesperson' => 'Salgsperson', 120 + 'shipping_method' => 'Fraktmetode', 121 + 'shipping_terms' => 'Fraktbetingelser', 122 + 'title' => 'Ordre Detaljer', 123 123 ], 124 124 125 125 'item' => [ ··· 151 151 'paid' => 'Betalt', 152 152 'processing' => 'Avventer bekreftelse', 153 153 'shipped' => 'På vei', 154 - 'title' => '', 154 + 'title' => 'Ordre Status', 155 155 ], 156 156 157 157 'thanks' => [ 158 - 'title' => '', 158 + 'title' => 'Takk for bestillingen din!', 159 159 'line_1' => [ 160 - '_' => '', 161 - 'link_text' => '', 160 + '_' => 'Du vil snart motta en bekreftelse på e-post. Hvis du har noen henvendelser, vennligst :link!', 161 + 'link_text' => 'kontakt oss', 162 162 ], 163 163 ], 164 164 ], ··· 193 193 'username_change' => [ 194 194 'check' => 'Oppgi et brukernavn for å sjekke om det er tilgjengelig!', 195 195 'checking' => 'Sjekker om :username er tilgjengelig...', 196 - 'placeholder' => '', 197 - 'label' => '', 198 - 'current' => '', 196 + 'placeholder' => 'Forespurt Brukernavn', 197 + 'label' => 'Nytt Brukernavn', 198 + 'current' => 'Ditt nåværende brukernavn er ":username".', 199 199 200 200 'require_login' => [ 201 201 '_' => 'For å endre navnet ditt, må du være :link!',
+4 -4
resources/lang/no/tournament.php
··· 5 5 6 6 return [ 7 7 'index' => [ 8 - 'none_running' => 'Det er ingen turneringer som pågår for øyeblikket, vennligst sjekk tilbake senere!', 8 + 'none_running' => 'Det er ingen turneringer som pågår for øyeblikket, vennligst sjekk igjen senere!', 9 9 'registration_period' => 'Registrering: :start til :end', 10 10 11 11 'header' => [ ··· 24 24 25 25 'show' => [ 26 26 'banner' => 'Støtt laget ditt', 27 - 'entered' => 'Du er registret for denne turneringen.<br><br>Merk at dette betyr <b>ikke</b> at du har blitt tildelt et lag.<br><br>Videre instruksjoner vil bli sendt til deg via e-post når vi nærmer oss starten på turneringen, så vennligst kontroller at osu! e-mailen din er gyldig!', 27 + 'entered' => 'Du er registrert for denne turneringen.<br><br>Merk at dette betyr <b>ikke</b> at du har blitt tildelt et lag.<br><br>Videre instruksjoner vil bli sendt til deg via e-post når vi nærmer oss starten på turneringen, så vennligst kontroller at osu! e-mailen din er gyldig!', 28 28 'info_page' => 'Informasjonsside', 29 29 'login_to_register' => 'Vennligst :login for å se registreringsdetaljene!', 30 - 'not_yet_entered' => 'Du er ikke registret for denne turneringen.', 30 + 'not_yet_entered' => 'Du er ikke registrert for denne turneringen.', 31 31 'rank_too_low' => 'Beklager, men du møter ikke rangeringskravene for denne turneringen!', 32 32 'registration_ends' => 'Registreringer lukkes på den :date', 33 33 ··· 43 43 44 44 'state' => [ 45 45 'before_registration' => 'Registrering for denne turneringen har enda ikke åpnet.', 46 - 'ended' => 'Denne turneringen har konkludert. Sjekk informasjonssiden for resultater.', 46 + 'ended' => 'Denne turneringen har konkludert. Sjekk informasjonssiden for resultatene.', 47 47 'registration_closed' => 'Registreringen for denne turneringen er lukket. Sjekk informasjonssiden for de siste oppdateringene.', 48 48 'running' => 'Denne turneringen pågår. Sjekk informasjonssiden for flere detaljer.', 49 49 ],
+7 -7
resources/lang/no/users.php
··· 49 49 ], 50 50 51 51 'card' => [ 52 - 'gift_supporter' => '', 52 + 'gift_supporter' => 'Gi osu!supporter i gave', 53 53 'loading' => 'Laster...', 54 54 'send_message' => 'send melding', 55 55 ], ··· 124 124 ], 125 125 126 126 'ogp' => [ 127 - 'modding_description' => '', 128 - 'modding_description_empty' => '', 127 + 'modding_description' => 'Beatmaps: :counts', 128 + 'modding_description_empty' => 'Brukeren har ikke noen beatmaps...', 129 129 130 130 'description' => [ 131 - '_' => '', 132 - 'country' => '', 133 - 'global' => '', 131 + '_' => 'Rang (:ruleset): :global | :country', 132 + 'country' => 'Landsrangering :rank', 133 + 'global' => 'Global :rank', 134 134 ], 135 135 ], 136 136 ··· 397 397 'date' => 'dato', 398 398 'action' => 'handling', 399 399 'length' => 'lengde', 400 - 'length_indefinite' => '', 400 + 'length_indefinite' => 'Ubestemt', 401 401 'description' => 'beskrivelse', 402 402 'actor' => 'av :username', 403 403
+2
resources/lang/pl/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Ta beatmapa uzyska status rankingowy :date, jeżeli nie zostaną zgłoszone żadne problemy. Obecnie jest ona na :position. miejscu w :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date', 217 219 'queue' => 'kolejce rankingowej', 218 220 'soon' => 'wkrótce',
-1
resources/lang/pl/home.php
··· 80 80 'action_lazer_title' => 'wypróbuj osu!(lazer)', 81 81 'action_title' => 'pobierz osu!', 82 82 'for_os' => 'dla systemu :os', 83 - 'lazer_note' => 'uwaga: ustanowione wyniki mogą zostać usunięte', 84 83 'macos-fallback' => 'użytkownicy macOS', 85 84 'mirror' => 'serwer lustrzany', 86 85 'or' => 'lub',
+1 -1
resources/lang/pl/layout.php
··· 196 196 'account-edit' => 'Ustawienia', 197 197 'follows' => 'Listy obserwowanych', 198 198 'friends' => 'Znajomi', 199 - 'legacy_score_only_toggle' => '', 199 + 'legacy_score_only_toggle' => 'Tryb lazer', 200 200 'legacy_score_only_toggle_tooltip' => '', 201 201 'logout' => 'Wyloguj się', 202 202 'profile' => 'Mój profil',
+11
resources/lang/pl/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+2 -1
resources/lang/pl/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Ten wynik jest oznaczony do usunięcia i wkrótce zniknie.', 9 9 'title' => 'wynik gracza :username na :title [:version]', 10 10 11 11 'beatmap' => [ ··· 28 28 'non_passing' => 'Tylko zagrania niezakończone porażką przyznają pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Ten wynik jest nadal obliczany i zostanie wyświetlony wkrótce.', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/pt-br/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Este mapa é estimado a ser ranqueado em :date se nenhum problema for encontrado. É o #:position na :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'em :date', 217 219 'queue' => 'fila de ranqueamento', 218 220 'soon' => 'em breve',
-1
resources/lang/pt-br/home.php
··· 80 80 'action_lazer_title' => 'experimente osu!(lazer)', 81 81 'action_title' => 'baixar osu!', 82 82 'for_os' => 'para :os', 83 - 'lazer_note' => 'nota: redefinições do placar se aplicam', 84 83 'macos-fallback' => 'usuários de macOS', 85 84 'mirror' => 'link alternativo', 86 85 'or' => 'ou',
+11
resources/lang/pt-br/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/pt-br/scores.php
··· 28 28 'non_passing' => 'Apenas pontuações bem sucedidas dão pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Esta pontuação ainda está sendo calculada e será exibida em breve', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/pt/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'A apreciação deste concurso não está ativa.', 85 85 'voting_over' => 'Não podes mudar o teu voto depois do período de votação deste concurso ter terminado.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Não é possível afixar este tipo de pontuação", 176 - 'failed' => "", 176 + 'failed' => "Não é possível afixar uma pontuação reprovada.", 177 177 'not_owner' => 'Só o dono da pontuação é que a pode fixar.', 178 178 'too_many' => 'Afixaste demasiadas pontuações.', 179 179 ],
+2
resources/lang/pt/beatmaps.php
··· 214 214 215 215 'rank_estimate' => [ 216 216 '_' => 'Este mapa está estimado a ser classificado em :date se não forem descobertos quaisquer problemas. Está em #:position na :queue.', 217 + 'unresolved_problems' => '', 218 + 'problems' => '', 217 219 'on' => 'em :date', 218 220 'queue' => 'fila de classificação', 219 221 'soon' => 'em breve',
+9 -9
resources/lang/pt/contest.php
··· 16 16 'judge' => [ 17 17 'hide_judged' => '', 18 18 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 19 + 'no_current_vote' => 'Ainda não votaste.', 20 + 'update' => 'atualizar', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'pontuação em falta', 23 + 'contest_vote_judged' => 'Não podes votar em concursos apreciados.', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Já votaste nesta inscrição.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Resultados da apreciação', 30 + 'creator' => 'criador', 31 + 'score' => 'Pontuação', 32 + 'total_score' => 'pontuação total', 33 33 ], 34 34 35 35 'voting' => [
-1
resources/lang/pt/home.php
··· 80 80 'action_lazer_title' => 'experimenta osu!(lazer)', 81 81 'action_title' => 'descarregar o osu!', 82 82 'for_os' => 'para :os', 83 - 'lazer_note' => 'nota: as redefinições da tabela de liderança aplicam-se', 84 83 'macos-fallback' => 'utilizadores de macOS', 85 84 'mirror' => 'link alternativo', 86 85 'or' => 'ou',
+11
resources/lang/pt/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+2 -1
resources/lang/pt/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Esta pontuação foi assinalada para ser eliminada e desaparecerá em breve.', 9 9 'title' => ':username em :title [:version]', 10 10 11 11 'beatmap' => [ ··· 28 28 'non_passing' => 'Apenas as pontuações aprovadas recompensam pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Esta pontuação ainda está a ser calculada e será exibida em breve', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/ro/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Evaluarea pentru acest concurs nu este în desfășurare.', 85 85 'voting_over' => 'Nu îți poți schimba votul după ce perioada de vot pentru această competiție s-a încheiat.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Nu se poate fixa acest tip de scor", 176 - 'failed' => "", 176 + 'failed' => "Nu se pot fixa scoruri eșuate", 177 177 'not_owner' => 'Numai creatorul scorului poate fixa acest scor.', 178 178 'too_many' => 'Ai fixat prea multe scoruri.', 179 179 ],
+6 -4
resources/lang/ro/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Acest beatmap este estimat a fi clasificat în data de :date dacă nu sunt găsite probleme. Este #:position în :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'pe :date', 217 219 'queue' => 'lista de așteptare pentru clasament', 218 220 'soon' => 'în curând', ··· 245 247 'language' => 'Limbă', 246 248 'mode' => 'Mod', 247 249 'nsfw' => 'Conținut Obscen', 248 - 'played' => 'Jucat', 250 + 'played' => 'Jucate', 249 251 'rank' => 'Grad Obținut', 250 252 'status' => 'Categorii', 251 253 ], ··· 257 259 'updated' => 'Actualizat', 258 260 'ranked' => 'Clasat', 259 261 'rating' => 'Evaluare', 260 - 'plays' => 'Jocuri', 262 + 'plays' => 'Încercări', 261 263 'relevance' => 'Relevanţă', 262 264 'nominations' => 'Nominalizări', 263 265 ], ··· 336 338 337 339 'played' => [ 338 340 'any' => 'Oricare', 339 - 'played' => 'Jucat', 340 - 'unplayed' => 'Nejucat', 341 + 'played' => 'Jucate', 342 + 'unplayed' => 'Nejucate', 341 343 ], 342 344 'extra' => [ 343 345 'video' => 'Cu video',
+13 -13
resources/lang/ro/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'ascunde intrările evaluate', 18 + 'nav_title' => 'evaluator', 19 + 'no_current_vote' => 'nu ai votat încă.', 20 + 'update' => 'actualizează', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'scor lipsă', 23 + 'contest_vote_judged' => 'nu poți vota în concursuri evaluate', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Ați depus deja un vot pentru această intrare.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Rezultate evaluare', 30 + 'creator' => 'creator', 31 + 'score' => 'Scor', 32 + 'total_score' => 'scor total', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Sunteți un evaluator al acestui concurs. Evaluați intrările aici!', 37 + 'judged_notice' => 'Acest concurs folosește sistemul prin evaluări. Evaluatorii procesează intrările momentan.', 38 38 'login_required' => 'Te rugăm să te autentifici pentru a vota.', 39 39 'over' => 'Votarea pentru acest concurs s-a încheiat', 40 40 'show_voted_only' => 'Afișare voturi',
-1
resources/lang/ro/home.php
··· 80 80 'action_lazer_title' => 'încearcă osu!(lazer)', 81 81 'action_title' => 'descarcă osu!', 82 82 'for_os' => 'pentru :os', 83 - 'lazer_note' => 'observație: resetarea clasamentului este posibilă', 84 83 'macos-fallback' => 'utilizatori macOS', 85 84 'mirror' => 'sursă alternativă', 86 85 'or' => 'sau',
+2 -2
resources/lang/ro/layout.php
··· 196 196 'account-edit' => 'Setări', 197 197 'follows' => 'Pagini Abonate', 198 198 'friends' => 'Prieteni', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Mod lazer', 200 + 'legacy_score_only_toggle_tooltip' => 'Modul lazer afișează scoruri obținute din lazer folosind un algoritm nou de scor', 201 201 'logout' => 'Deconectare', 202 202 'profile' => 'Profilul Meu', 203 203 ],
+2 -2
resources/lang/ro/page_title.php
··· 64 64 '_' => 'comentarii', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'rezultate evaluare concurs', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'concursuri', 71 - 'judge' => '', 71 + 'judge' => 'evaluare concurs', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'grupuri',
+11
resources/lang/ro/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/ro/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Acest scor este marcat pentru ștergere și va dispărea în curând.', 9 9 'title' => ':username pe :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Doar cele mai bune scoruri acordă pp', 28 28 'non_passing' => 'Doar scorurile aprobate acordă pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'pp nu este acordat pentru acest scor', 30 30 'processing' => 'Acest scor este încă în calculare și va fi afișat în curând', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/ru/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Судейство этого конкурса пока ещё не доступно.', 85 85 'voting_over' => 'Вы не можете изменить свой голос после окончания периода голосования.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Этот вид рекорда закрепить нельзя", 176 - 'failed' => "", 176 + 'failed' => "Этот рекорд закрепить нельзя.", 177 177 'not_owner' => 'Только владелец рекорда может его закрепить.', 178 178 'too_many' => 'Закреплено слишком много рекордов.', 179 179 ],
+2
resources/lang/ru/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Эта карта станет рейтинговой :date, если не будет найдено проблем. Она #:position в :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date', 217 219 'queue' => 'очереди ранка', 218 220 'soon' => 'скоро',
+14 -14
resources/lang/ru/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'скрыть оценённые заявки', 18 + 'nav_title' => 'судья', 19 + 'no_current_vote' => 'вы пока ещё не проголосовали.', 20 + 'update' => 'сохранить', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'балл отсутствует', 23 + 'contest_vote_judged' => 'нельзя проголосовать в конкурсе, который вы судили', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Вы уже выставили баллы за эту заявку.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Результаты судейства', 30 + 'creator' => 'создатель', 31 + 'score' => 'Баллы', 32 + 'total_score' => 'суммарный балл', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Вы — судья этого конкурса. Нажмите сюда, чтобы начать оценивать заявки!', 37 + 'judged_notice' => 'Этот конкурс использует систему судейства, на данный момент судьи оценивают заявки.', 38 38 'login_required' => 'Пожалуйста, войдите в аккаунт, чтобы проголосовать.', 39 39 'over' => 'Голосование окончено', 40 40 'show_voted_only' => 'Показать проголосованные', 41 41 42 42 'best_of' => [ 43 - 'none_played' => "Не похоже, что Вы играли в какие-либо из карт, что квалифицированы для этого конкурса!", 43 + 'none_played' => "Не похоже, что вы сыграли карты, что квалифицированы для этого конкурса!", 44 44 ], 45 45 46 46 'button' => [
-1
resources/lang/ru/home.php
··· 80 80 'action_lazer_title' => 'попробовать osu!(lazer)', 81 81 'action_title' => 'скачать osu!', 82 82 'for_os' => 'для :os', 83 - 'lazer_note' => 'примечание: ваши рекорды могут быть удалены', 84 83 'macos-fallback' => 'для macOS', 85 84 'mirror' => 'зеркало', 86 85 'or' => 'или',
+2 -2
resources/lang/ru/layout.php
··· 196 196 'account-edit' => 'Настройки', 197 197 'follows' => 'Подписки', 198 198 'friends' => 'Друзья', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer-рекорды', 200 + 'legacy_score_only_toggle_tooltip' => 'Режим отображения, который показывает рекорды, поставленные в клиенте lazer с новым алгоритмом подсчета очков', 201 201 'logout' => 'Выйти', 202 202 'profile' => 'Мой профиль', 203 203 ],
+2 -2
resources/lang/ru/page_title.php
··· 64 64 '_' => 'комментарии', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'результаты судейства конкурса', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'конкурсы', 71 - 'judge' => '', 71 + 'judge' => 'судейство конкурса', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'группы',
+11
resources/lang/ru/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/ru/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Этот рекорд был номинирован на удаление и поэтому скоро исчезнет.', 9 9 'title' => ':username на :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Только лучшие рекорды приносят pp', 28 28 'non_passing' => 'Только проверенные рекорды приносят pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'За этот рекорд нельзя получить pp', 30 30 'processing' => 'Этот рекорд все ещё подсчитывается и будет отображен позже', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+1 -1
resources/lang/ru/users.php
··· 390 390 'account_standing' => [ 391 391 'title' => 'Нарушения', 392 392 'bad_standing' => "С аккаунтом :username не всё хорошо :(", 393 - 'remaining_silence' => ':username сможет общаться снова через :duration.', 393 + 'remaining_silence' => ':username снова сможет общаться :duration.', 394 394 395 395 'recent_infringements' => [ 396 396 'title' => 'Недавние',
+2
resources/lang/si-LK/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => '', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '', 217 219 'queue' => '', 218 220 'soon' => '',
-1
resources/lang/si-LK/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => '', 85 84 'mirror' => '', 86 85 'or' => '',
+11
resources/lang/si-LK/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/si-LK/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => '', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/sk/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Táto mapa je predpokladaná k hodnotení :date, pokud sa nenájdu žiadne chyby. Mapa je momentálne v pozícii číslo :position ve fronte :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'dňa :date', 217 219 'queue' => 'fronta hodnotení ', 218 220 'soon' => 'neskôr ',
-1
resources/lang/sk/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => 'macOS užívateľ', 85 84 'mirror' => 'mirror', 86 85 'or' => '',
+11
resources/lang/sk/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/sk/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => '', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/sl/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Ta beatmapa bo približno rankirana :date če ne bo najdenih težav. Trenutno je #:position v :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'na :date', 217 219 'queue' => 'čakalna vrsta rankiranja', 218 220 'soon' => 'kmalu',
-1
resources/lang/sl/home.php
··· 80 80 'action_lazer_title' => 'poskusi osu!(lazer)', 81 81 'action_title' => 'prenesi osu!', 82 82 'for_os' => 'za :os', 83 - 'lazer_note' => 'obvestilo: vključuje ponastavitev lestvic', 84 83 'macos-fallback' => 'macOS uporabniki', 85 84 'mirror' => 'mirror', 86 85 'or' => 'ali',
+11
resources/lang/sl/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/sl/scores.php
··· 28 28 'non_passing' => 'Samo uspešni rezultati se nagrajujejo s pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Ta rezultat se še preračunava in bo prikazan kmalu ', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/sr/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Процењује се да ће мапа бити померена у рангирану секцију :date ако се не пронађу проблеми. Мапа је тренутно #:position у :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date', 217 219 'queue' => 'ред за рангинг секцију', 218 220 'soon' => 'ускоро',
-1
resources/lang/sr/home.php
··· 80 80 'action_lazer_title' => 'пробајте osu!(lazer)', 81 81 'action_title' => 'преузмите osu!', 82 82 'for_os' => 'за :os', 83 - 'lazer_note' => 'напомена: постоје ресетовања ранг листе', 84 83 'macos-fallback' => 'macOS корисници', 85 84 'mirror' => 'алтернативни линк', 86 85 'or' => 'или',
+11
resources/lang/sr/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/sr/scores.php
··· 28 28 'non_passing' => 'Само пролазећи резултати награђују pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Овај резултат се и даље рачуна и биће приказан ускоро', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/sv/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Denna beatmap uppskattas vara rankad :date, så länge inga fel uppstår. Den är #:position i :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'den :date', 217 219 'queue' => 'rankkö', 218 220 'soon' => 'snart',
-1
resources/lang/sv/home.php
··· 80 80 'action_lazer_title' => 'pröva osu!(lazer)', 81 81 'action_title' => 'installera osu!', 82 82 'for_os' => 'för :os', 83 - 'lazer_note' => 'obs. rankningsliståterställningar tillämpas', 84 83 'macos-fallback' => 'macOS-användare', 85 84 'mirror' => 'mirror', 86 85 'or' => 'eller',
+11
resources/lang/sv/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/sv/scores.php
··· 28 28 'non_passing' => 'Endast godkända poäng ger pp', 29 29 'no_pp' => '', 30 30 'processing' => 'Poängsiffran räknas ännu ut och kommer snart att visas', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/tg-TJ/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => '', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '', 217 219 'queue' => '', 218 220 'soon' => '',
-1
resources/lang/tg-TJ/home.php
··· 80 80 'action_lazer_title' => '', 81 81 'action_title' => '', 82 82 'for_os' => '', 83 - 'lazer_note' => '', 84 83 'macos-fallback' => '', 85 84 'mirror' => '', 86 85 'or' => '',
+11
resources/lang/tg-TJ/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/tg-TJ/scores.php
··· 28 28 'non_passing' => '', 29 29 'no_pp' => '', 30 30 'processing' => '', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/th/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'แมพนี้จะถูก ranked ใน :date ถ้าไม่พบเจอปัญหาเพิ่มเติม แมพนี้อยู่ที่ #:position ใน :queue', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'เมื่อ :date', 217 219 'queue' => 'คิวการจัดอันดับ', 218 220 'soon' => 'เร็วๆ นี้',
-1
resources/lang/th/home.php
··· 80 80 'action_lazer_title' => 'ลอง osu!(lazer)', 81 81 'action_title' => 'ดาวน์โหลด osu!', 82 82 'for_os' => 'สำหรับ :os', 83 - 'lazer_note' => 'หมายเหตุ: ใช้การรีเซ็ตกระดานอันดับ', 84 83 'macos-fallback' => 'ผู้ใช้ macOS', 85 84 'mirror' => 'สำรอง', 86 85 'or' => 'หรือ',
+11
resources/lang/th/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/th/scores.php
··· 28 28 'non_passing' => 'เฉพาะคะแนนที่ผ่านแล้วเท่านั้น จะให้ pp', 29 29 'no_pp' => '', 30 30 'processing' => 'คะแนนนี้กำลังถูกคำนวนอยู่ และจะถูกแสดงในไม่ช้า', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2
resources/lang/tr/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Herhangi bir sorun bulunmazsa mapin tahminen dereceli olacağı vakit :date. :queue :position. sırada bulunuyor.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => ':date tarihinde', 217 219 'queue' => 'Derecelendirme sırasında', 218 220 'soon' => 'çok yakın',
-1
resources/lang/tr/home.php
··· 80 80 'action_lazer_title' => 'osu!(lazer)\'i dene', 81 81 'action_title' => 'osu! indir', 82 82 'for_os' => ':os için', 83 - 'lazer_note' => 'not: lider tablosu sıfırlanabilir', 84 83 'macos-fallback' => 'macOS kullanıcıları', 85 84 'mirror' => 'alternatif', 86 85 'or' => 'ya da',
+11
resources/lang/tr/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+1
resources/lang/tr/scores.php
··· 28 28 'non_passing' => 'Yalnızca geçilen en iyi skorlar pp kazandırır', 29 29 'no_pp' => '', 30 30 'processing' => 'Bu skor halen daha hesaplanıyor ve çok yakında gösterilecek', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/uk/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Суддівство для цього конкурсу не активно.', 85 85 'voting_over' => 'Ви не можете змінити свій вибір після завершення періоду голосування.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Неможливо закріпити цей тип рекорду", 176 - 'failed' => "", 176 + 'failed' => "Не можна закріпити цей результат.", 177 177 'not_owner' => 'Лише власник результату може його закріпити.', 178 178 'too_many' => 'Закріплено надто багато результатів.', 179 179 ],
+2
resources/lang/uk/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Ця мапа стане рейтинговою :date, якщо ніяких проблем не буде знайдено. Вона #:position в :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'з :date', 217 219 'queue' => 'черзі на рейтинг', 218 220 'soon' => 'дуже скоро',
+13 -13
resources/lang/uk/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'сховати оцінені заявки', 18 + 'nav_title' => 'суддя', 19 + 'no_current_vote' => 'ви ще не голосували.', 20 + 'update' => 'оновити', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'результат відсутній', 23 + 'contest_vote_judged' => 'не можна голосувати в конкурсі який ви судили', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Ви вже виставили бали за цю заявку.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Судові результати', 30 + 'creator' => 'автор', 31 + 'score' => 'Бали', 32 + 'total_score' => 'загальний бал', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Ви - суддя цього конкурсу. Натисніть сюди, щоб почати оцінювати заявки!', 37 + 'judged_notice' => 'Цей конкурс використовує систему суддівства, судді нині обробляють заявки.', 38 38 'login_required' => 'Увійдіть, щоб проголосувати.', 39 39 'over' => 'Голосування закінчено', 40 40 'show_voted_only' => 'Показати голоси',
-1
resources/lang/uk/home.php
··· 80 80 'action_lazer_title' => 'спробуйте osu!(lazer)', 81 81 'action_title' => 'завантажити osu!', 82 82 'for_os' => 'для :os', 83 - 'lazer_note' => 'примітка: таблиці лідерів можуть бути скинуті', 84 83 'macos-fallback' => 'для macOS', 85 84 'mirror' => 'дзеркало', 86 85 'or' => 'або',
+2 -2
resources/lang/uk/layout.php
··· 196 196 'account-edit' => 'Налаштування', 197 197 'follows' => 'Перелік підписок', 198 198 'friends' => 'Друзі', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Режим Lazer', 200 + 'legacy_score_only_toggle_tooltip' => 'Режим відображення, який показує результати, поставлені у клієнті lazer з новим алгоритмом підрахунку очок', 201 201 'logout' => 'Вийти', 202 202 'profile' => 'Мій профіль', 203 203 ],
+2 -2
resources/lang/uk/page_title.php
··· 64 64 '_' => 'коментарі', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'результати суддівства конкурсу', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'конкурси', 71 - 'judge' => '', 71 + 'judge' => 'суддівство конкурсу', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'групи',
+11
resources/lang/uk/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/uk/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Цей результат відмічено для видалення і скоро зникне.', 9 9 'title' => ':username з :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Лише персональні рекорди приносять pp', 28 28 'non_passing' => 'Лише перевірені рекорди приносять pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'За цей результат не можна отримати pp', 30 30 'processing' => 'Цей рекорд все ще обчислюється й незабаром буде відображений', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/vi/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => 'Phần đánh giá cho cuộc thi này không hoạt động.', 85 85 'voting_over' => 'Bạn không thể đổi phiếu bầu sau khi giai đoạn bầu chọn của cuộc thi này kết thúc.', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "Không thể ghim điểm này", 176 - 'failed' => "", 176 + 'failed' => "Không thể ghim điểm cá nhân chưa hoàn thành.", 177 177 'not_owner' => 'Chỉ có người sở hữu có thể ghim điểm.', 178 178 'too_many' => 'Ghim quá nhiều điểm.', 179 179 ],
+2
resources/lang/vi/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => 'Map này ước tính sẽ được Xếp Hạng :date nếu không tìm ra lỗi nào. Nó đang ở #:position trong :queue.', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => 'vào ngày :date', 217 219 'queue' => 'hàng chờ xếp hạng', 218 220 'soon' => 'sớm',
+13 -13
resources/lang/vi/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => 'ẩn các bài thi đã được đánh giá', 18 + 'nav_title' => 'đánh giá', 19 + 'no_current_vote' => 'bạn vẫn chưa bầu chọn.', 20 + 'update' => 'cập nhật', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => 'chưa có điểm', 23 + 'contest_vote_judged' => 'không thể bầu chọn trong các cuộc thi được đánh giá', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => 'Bạn đã bình chọn cho bài dự thi này.', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => 'Kết quả đánh giá', 30 + 'creator' => 'tác giả', 31 + 'score' => 'Điểm', 32 + 'total_score' => 'tổng điểm', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => 'Bạn là giám khảo của cuộc thi này. Đánh giá các bài thi ở đây!', 37 + 'judged_notice' => 'Cuộc thi này sử dụng hệ thống đánh giá, các giám khảo đang xử lý các bài thi.', 38 38 'login_required' => 'Hãy đăng nhập để bình chọn.', 39 39 'over' => 'Cuộc bình chọn cho cuộc thi này đã kết thúc', 40 40 'show_voted_only' => 'Hiện bài đã bình chọn',
-1
resources/lang/vi/home.php
··· 80 80 'action_lazer_title' => 'thử osu!(lazer)', 81 81 'action_title' => 'tải xuống osu!', 82 82 'for_os' => 'dành cho :os', 83 - 'lazer_note' => 'ghi chú: bảng xêp hạng có thể được đặt lại', 84 83 'macos-fallback' => 'người dùng macOS', 85 84 'mirror' => 'liên kết phụ', 86 85 'or' => 'hoặc',
+4 -4
resources/lang/vi/layout.php
··· 5 5 6 6 return [ 7 7 'audio' => [ 8 - 'autoplay' => 'Chơi bản nhạc tiếp theo tự động', 8 + 'autoplay' => 'Tự động phát bài tiếp theo', 9 9 ], 10 10 11 11 'defaults' => [ ··· 78 78 'getAbuse' => 'báo cáo lạm dụng', 79 79 'getFaq' => 'faq', 80 80 'getRules' => 'quy tắc', 81 - 'getSupport' => 'không, thật đó, tôi cần giúp đỡ!', 81 + 'getSupport' => 'không, thật sự, tôi cần giúp đỡ!', 82 82 ], 83 83 'home' => [ 84 84 '_' => 'trang chủ', ··· 196 196 'account-edit' => 'Cài Đặt', 197 197 'follows' => 'Danh sách theo dõi', 198 198 'friends' => 'Bạn bè', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Chế độ lazer', 200 + 'legacy_score_only_toggle_tooltip' => 'Chế độ lazer hiển thị các điểm cá nhân từ lazer cùng thuật toán tính điểm mới', 201 201 'logout' => 'Đăng Xuất', 202 202 'profile' => 'Trang Cá Nhân', 203 203 ],
+2 -2
resources/lang/vi/page_title.php
··· 64 64 '_' => 'bình luận', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => 'kết quả đánh giá bài thi', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => 'cuộc thi', 71 - 'judge' => '', 71 + 'judge' => 'đánh giá bài thi', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => 'nhóm',
+11
resources/lang/vi/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/vi/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => 'Điểm này đã được đánh dấu xóa và sẽ sớm biến mất.', 9 9 'title' => ':username chơi :title [:version]', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'Chỉ điểm cá nhân tốt nhất thưởng pp', 28 28 'non_passing' => 'Chỉ điểm cá nhân tốt nhất thưởng pp', 29 - 'no_pp' => '', 29 + 'no_pp' => 'không được thưởng pp cho điểm cá nhân này', 30 30 'processing' => 'Điểm vẫn đang được tính toán và sẽ được hiển thị sớm', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/zh-tw/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => '此次競賽尚未進入評分階段。', 85 85 'voting_over' => '投票已結束,禁止重新投票。', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "無法置頂這類分數。", 176 - 'failed' => "", 176 + 'failed' => "無法置頂未過關的成績。", 177 177 'not_owner' => '只有擁有者才可置頂成績。', 178 178 'too_many' => '置頂過多成績。', 179 179 ],
+2
resources/lang/zh-tw/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => '若沒找到問題,該圖譜將於 :date 進榜。位於 :queue 中的 #:position。', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '在:date', 217 219 'queue' => 'ranking 列隊', 218 220 'soon' => '不久後',
+13 -13
resources/lang/zh-tw/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => '隱藏已評分的項目', 18 + 'nav_title' => '評分', 19 + 'no_current_vote' => '您尚未投票', 20 + 'update' => '更新', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => '缺失成績', 23 + 'contest_vote_judged' => '無法在已評分的競賽中投票', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => '您已經提交過此項目的投票', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => '評分結果', 30 + 'creator' => '作者', 31 + 'score' => '分數', 32 + 'total_score' => '總分', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => '您是此競賽的評委。請在此處評分。', 37 + 'judged_notice' => '本競賽使用評分系統,評委正在進行評分。', 38 38 'login_required' => '請登入後再投票。', 39 39 'over' => '這場評選的投票已經結束', 40 40 'show_voted_only' => '顯示投票',
+2 -2
resources/lang/zh-tw/events.php
··· 15 15 'rank' => '<strong><em>:user</em></strong> 在 <em>:beatmap</em> (:mode)中取得第 :rank 名', 16 16 'rank_lost' => '<strong><em>:user</em></strong> 失去了 <em>:beatmap</em> (:mode)的第一名', 17 17 'user_support_again' => '<strong>:user</strong> 又一次支持了 osu! - 感謝您的慷慨捐贈!', 18 - 'user_support_first' => '<strong>:user</strong> 成為了 osu!支持者 - 感謝您的慷慨捐贈!', 19 - 'user_support_gift' => '<strong>:user</strong> 成為了 osu!支持者 - 來自匿名玩家的贈予!', 18 + 'user_support_first' => '<strong>:user</strong> 成為了 osu! 贊助者 - 感謝您的慷慨捐贈!', 19 + 'user_support_gift' => '<strong>:user</strong> 成為了 osu! 贊助者 - 來自匿名玩家的贈禮!', 20 20 'username_change' => '<strong>:previousUsername</strong> 將名字改為 <strong><em>:user</strong></em>!', 21 21 22 22 'beatmapset_status' => [
-1
resources/lang/zh-tw/home.php
··· 80 80 'action_lazer_title' => '試用 osu!(lazer)', 81 81 'action_title' => '下載 osu!', 82 82 'for_os' => ':os 版', 83 - 'lazer_note' => '注意: 排行榜及分數將會重置', 84 83 'macos-fallback' => 'macOS 使用者', 85 84 'mirror' => '鏡像站', 86 85 'or' => '或',
+2 -2
resources/lang/zh-tw/layout.php
··· 196 196 'account-edit' => '設定', 197 197 'follows' => '追蹤清單', 198 198 'friends' => '好友', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer 模式', 200 + 'legacy_score_only_toggle_tooltip' => 'Lazer 模式透過使用 Lazer 客戶端中新評分演算法來顯示您的成績。', 201 201 'logout' => '登出', 202 202 'profile' => '我的資料', 203 203 ],
+2 -2
resources/lang/zh-tw/mail.php
··· 28 28 29 29 'benefit' => [ 30 30 'gift' => '您的收禮者現在可以使用 osu!direct 和許多其他支持者獨享的福利。', 31 - 'self' => '您可以在接下來的 :duration 內享受 osu!direct 和其他 osu! 支持者享有的特權。', 31 + 'self' => '您可以在接下來的 :duration 內享受 osu!direct 和其他贊助者享有的特權。', 32 32 ], 33 33 34 34 'support' => [ ··· 64 64 'supporter_gift' => [ 65 65 'anonymous_gift' => '贈送您贊助者標籤的人想要保持匿名,所以在這則通知中並沒有提到他(們)。', 66 66 'anonymous_gift_maybe_not' => '但您可能已經知道它是誰 ; )。', 67 - 'duration' => '因為他們,您可以在接下來的 :duration 內享受 osu!direct 和其他 osu! 支持者享有的特權。', 67 + 'duration' => '因為他們,您可以在接下來的 :duration 內享受 osu!direct 和其他贊助者享有的特權。', 68 68 'features' => '您可以在此處找到這些功能的更多資訊:', 69 69 'gifted' => '有人剛剛送給你了一份osu!贊助者標籤!', 70 70 'gift_message' => '向您贈送此贊助者標籤的人為您寫了如下留言:',
+2 -2
resources/lang/zh-tw/page_title.php
··· 64 64 '_' => '評論', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => '競賽評分結果', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => '評選', 71 - 'judge' => '', 71 + 'judge' => '競賽評分', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => '群組',
+11
resources/lang/zh-tw/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/zh-tw/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => '已標記刪除此成績,其不久後就會消失。', 9 9 'title' => ':username 在 :title [:version] 上的成績', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => 'pp 只授予個人最佳成績', 28 28 'non_passing' => '僅有過關的成績能獲取 pp', 29 - 'no_pp' => '', 29 + 'no_pp' => '此成績沒有 pp', 30 30 'processing' => '成績仍在結算中,不久後就會顯示', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+2 -2
resources/lang/zh/authorization.php
··· 81 81 ], 82 82 83 83 'contest' => [ 84 - 'judging_not_active' => '', 84 + 'judging_not_active' => '这场竞赛还没有进入打分环节。', 85 85 'voting_over' => '投票已结束,无法修改投票。', 86 86 87 87 'entry' => [ ··· 173 173 'score' => [ 174 174 'pin' => [ 175 175 'disabled_type' => "无法置顶这类分数", 176 - 'failed' => "", 176 + 'failed' => "无法置顶未通过的分数。", 177 177 'not_owner' => '只有获得此成绩的玩家才可以置顶它。', 178 178 'too_many' => '已置顶的成绩过多', 179 179 ],
+2
resources/lang/zh/beatmaps.php
··· 213 213 214 214 'rank_estimate' => [ 215 215 '_' => '谱面正位于 :queue 中第 :position 位。如果没有问题,谱面将 :date 上架 (Ranked)。', 216 + 'unresolved_problems' => '', 217 + 'problems' => '', 216 218 'on' => '在 :date', 217 219 'queue' => '谱面上架队列', 218 220 'soon' => '不久后',
+13 -13
resources/lang/zh/contest.php
··· 14 14 ], 15 15 16 16 'judge' => [ 17 - 'hide_judged' => '', 18 - 'nav_title' => '', 19 - 'no_current_vote' => '', 20 - 'update' => '', 17 + 'hide_judged' => '隐藏已打分的项目', 18 + 'nav_title' => '打分', 19 + 'no_current_vote' => '你尚未投票。', 20 + 'update' => '更新', 21 21 'validation' => [ 22 - 'missing_score' => '', 23 - 'contest_vote_judged' => '', 22 + 'missing_score' => '缺失分数', 23 + 'contest_vote_judged' => '不能在已打分的竞赛中投票。', 24 24 ], 25 - 'voted' => '', 25 + 'voted' => '你已经提交了该项目的投票。', 26 26 ], 27 27 28 28 'judge_results' => [ 29 - '_' => '', 30 - 'creator' => '', 31 - 'score' => '', 32 - 'total_score' => '', 29 + '_' => '打分结果', 30 + 'creator' => '谱师', 31 + 'score' => '分数', 32 + 'total_score' => '总分', 33 33 ], 34 34 35 35 'voting' => [ 36 - 'judge_link' => '', 37 - 'judged_notice' => '', 36 + 'judge_link' => '你是此竞赛的评委。请在这里打分!', 37 + 'judged_notice' => '此竞赛使用了打分系统。评委正在打分。', 38 38 'login_required' => '请登录后再投票.', 39 39 'over' => '这场评选的投票已经结束', 40 40 'show_voted_only' => '仅显示已投票的',
-1
resources/lang/zh/home.php
··· 80 80 'action_lazer_title' => '尝试 osu!(lazer)', 81 81 'action_title' => '下载 osu!', 82 82 'for_os' => '适用于 :os', 83 - 'lazer_note' => '注意:排行榜将重置', 84 83 'macos-fallback' => 'macOS 用户', 85 84 'mirror' => '从镜像服务器下载', 86 85 'or' => '或',
+2 -2
resources/lang/zh/layout.php
··· 196 196 'account-edit' => '设置', 197 197 'follows' => '订阅', 198 198 'friends' => '好友', 199 - 'legacy_score_only_toggle' => '', 200 - 'legacy_score_only_toggle_tooltip' => '', 199 + 'legacy_score_only_toggle' => 'Lazer 模式', 200 + 'legacy_score_only_toggle_tooltip' => 'Lazer 模式使用来自 Lazer 客户端的新记分算法显示您的分数', 201 201 'logout' => '登出', 202 202 'profile' => '资料', 203 203 ],
+2 -2
resources/lang/zh/page_title.php
··· 64 64 '_' => '评论', 65 65 ], 66 66 'contest_entries_controller' => [ 67 - 'judge_results' => '', 67 + 'judge_results' => '竞赛打分结果', 68 68 ], 69 69 'contests_controller' => [ 70 70 '_' => '评选', 71 - 'judge' => '', 71 + 'judge' => '竞赛打分', 72 72 ], 73 73 'groups_controller' => [ 74 74 'show' => '用户组',
+11
resources/lang/zh/score_tokens.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 + 'create' => [ 8 + 'beatmap_hash_invalid' => '', 9 + 'submission_disabled' => '', 10 + ], 11 + ];
+3 -2
resources/lang/zh/scores.php
··· 5 5 6 6 return [ 7 7 'show' => [ 8 - 'non_preserved' => '', 8 + 'non_preserved' => '已标记删除此分数,不久后它将消失。', 9 9 'title' => ':username 在 :title [:version] 上的成绩', 10 10 11 11 'beatmap' => [ ··· 26 26 'status' => [ 27 27 'non_best' => '只有个人最好成绩才能获取到 pp', 28 28 'non_passing' => '只能在通过的成绩上获取 pp', 29 - 'no_pp' => '', 29 + 'no_pp' => '该分数没有 pp', 30 30 'processing' => '此分数仍在计算中,即将显示', 31 + 'no_rank' => '', 31 32 ], 32 33 ];
+10
resources/views/docs/info.md.blade.php
··· 124 124 v2 | current 125 125 v1 | _legacy api provided by the old site, will be deprecated soon_ 126 126 127 + ### API Response Version 128 + 129 + Sometimes, an API response need to be updated in non-backward compatible ways. In such cases, the `x-api-version` header is used to determine which version of the response will be returned. 130 + 131 + Version 0 is assumed when the header is omitted. 132 + 133 + Version | Change 134 + -------- | ------ 135 + 20220705 | [Score](#score) object with different set of fields. 136 + 127 137 ## Language 128 138 129 139 Language for the response is determined by `Accept-Language` header when specified. Specifying `*` or not setting the header will set the language to user configured language when accessing API as a user.
+1 -1
resources/views/home/_search_result_forum_post.blade.php
··· 28 28 'user' => $user, 29 29 'title' => $title, 30 30 'link' => $postUrl, 31 - 'excerpt' => $search->getHighlights($entry, 'search_content') ?? str_limit($entry->source('search_content'), 100), 31 + 'excerpt' => $search->getHighlights($entry, 'search_content') ?? truncate($entry->source('search_content'), 100), 32 32 'postId' => $postId, 33 33 'time' => $entry->source('post_time'), 34 34 'topic' => $topic,
+9 -8
tests/Browser/SanityTest.php
··· 5 5 6 6 namespace Tests\Browser; 7 7 8 + use App\Libraries\Session; 9 + use App\Libraries\SessionVerification; 8 10 use App\Models\Artist; 9 11 use App\Models\ArtistTrack; 10 12 use App\Models\Beatmap; ··· 305 307 return $return; 306 308 } 307 309 308 - private static function getVerificationCode() 310 + private static function getVerificationCode(Browser $browser): string 309 311 { 310 - $log = file_get_contents('storage/logs/laravel.log'); 311 - $matches = []; 312 - $count = preg_match_all('/Your verification code is: ([0-9a-f]{8})/im', $log, $matches); 312 + $sessionId = $browser->cookie($GLOBALS['cfg']['session']['cookie']) 313 + ?? throw new \Exception('failed locating session cookie'); 314 + 315 + $session = Session\Store::findOrNew($sessionId); 313 316 314 - if ($count > 0) { 315 - return $matches[1][count($matches[1]) - 1]; 316 - } 317 + return SessionVerification\State::fromSession($session)->key; 317 318 } 318 319 319 320 private static function output($text) ··· 547 548 if (in_array($route->getName(), $verificationExpected, true)) { 548 549 $browser->assertSee('Account Verification'); 549 550 550 - $verificationCode = self::getVerificationCode(); 551 + $verificationCode = static::getVerificationCode($browser); 551 552 552 553 $browser 553 554 ->type('.user-verification__key', $verificationCode)
+2 -1
tests/Controllers/Multiplayer/Rooms/Playlist/ScoresControllerTest.php
··· 121 121 $this->expectCountChange(fn () => ScoreToken::count(), $countDiff); 122 122 123 123 $this->json('POST', route('api.rooms.playlist.scores.store', [ 124 + 'beatmap_hash' => $playlistItem->beatmap->checksum, 125 + 'playlist' => $playlistItem->getKey(), 124 126 'room' => $playlistItem->room_id, 125 - 'playlist' => $playlistItem->getKey(), 126 127 ]))->assertStatus($status); 127 128 128 129 config_set('osu.client.check_version', $origClientCheckVersion);
+73 -5
tests/Controllers/ScoresControllerTest.php
··· 9 9 use App\Models\Score\Best\Osu; 10 10 use App\Models\Solo\Score as SoloScore; 11 11 use App\Models\User; 12 + use App\Models\UserCountryHistory; 13 + use App\Models\UserStatistics; 14 + use Carbon\CarbonImmutable; 12 15 use Illuminate\Filesystem\Filesystem; 13 16 use Storage; 14 17 use Tests\TestCase; 15 18 16 19 class ScoresControllerTest extends TestCase 17 20 { 18 - private $score; 19 - private $user; 21 + private Osu $score; 22 + private User $user; 23 + private User $otherUser; 20 24 21 - public function testDownload() 25 + public function testDownloadSameUser() 22 26 { 27 + $this->expectCountChange(fn () => $this->score->user->statistics($this->score->getMode())->replay_popularity, 0); 28 + 23 29 $this 24 30 ->actingAs($this->user) 25 31 ->withHeaders(['HTTP_REFERER' => $GLOBALS['cfg']['app']['url'].'/']) ··· 28 34 route('scores.download-legacy', $this->params()) 29 35 ) 30 36 ->assertSuccessful(); 37 + 38 + $month = CarbonImmutable::now(); 39 + $currentMonth = UserCountryHistory::formatDate($month); 40 + $this->assertNull($this->score->user->replaysWatchedCounts()->where('year_month', $currentMonth)->first()); 41 + 42 + $this->assertNull($this->score->replayViewCount()->first()); 31 43 } 32 44 33 - public function testDownloadSoloScore() 45 + public function testDownloadSoloScoreSameUser() 34 46 { 35 47 $soloScore = SoloScore::factory() 36 48 ->create([ 37 49 'legacy_score_id' => $this->score->getKey(), 38 50 'ruleset_id' => Beatmap::MODES[$this->score->getMode()], 51 + 'user_id' => $this->score->user_id, 39 52 'has_replay' => true, 40 53 ]); 54 + 55 + $this->expectCountChange(fn () => $this->score->user->statistics($this->score->getMode())->replay_popularity, 0); 41 56 42 57 $this 43 58 ->actingAs($this->user) ··· 47 62 route('scores.download', $soloScore) 48 63 ) 49 64 ->assertSuccessful(); 65 + 66 + $month = CarbonImmutable::now(); 67 + $currentMonth = UserCountryHistory::formatDate($month); 68 + $this->assertNull($this->score->user->replaysWatchedCounts()->where('year_month', $currentMonth)->first()); 69 + } 70 + 71 + public function testDownload() 72 + { 73 + $this 74 + ->actingAs($this->otherUser) 75 + ->withHeaders(['HTTP_REFERER' => $GLOBALS['cfg']['app']['url'].'/']) 76 + ->json( 77 + 'GET', 78 + route('scores.download-legacy', $this->params()) 79 + ) 80 + ->assertSuccessful(); 81 + 82 + $this->assertEquals($this->score->user->statistics($this->score->getMode())->replay_popularity, 1); 83 + 84 + $month = CarbonImmutable::now(); 85 + $currentMonth = UserCountryHistory::formatDate($month); 86 + $this->assertEquals($this->score->user->replaysWatchedCounts()->where('year_month', $currentMonth)->first()->count, 1); 87 + 88 + $this->assertEquals($this->score->replayViewCount()->first()->play_count, 1); 89 + } 90 + 91 + public function testDownloadSoloScore() 92 + { 93 + $soloScore = SoloScore::factory() 94 + ->create([ 95 + 'legacy_score_id' => $this->score->getKey(), 96 + 'ruleset_id' => Beatmap::MODES[$this->score->getMode()], 97 + 'user_id' => $this->score->user_id, 98 + 'has_replay' => true, 99 + ]); 100 + 101 + $this 102 + ->actingAs($this->otherUser) 103 + ->withHeaders(['HTTP_REFERER' => $GLOBALS['cfg']['app']['url'].'/']) 104 + ->json( 105 + 'GET', 106 + route('scores.download', $soloScore) 107 + ) 108 + ->assertSuccessful(); 109 + 110 + $this->assertEquals($soloScore->user->statistics($soloScore->getMode())->replay_popularity, 1); 111 + 112 + $month = CarbonImmutable::now(); 113 + $currentMonth = UserCountryHistory::formatDate($month); 114 + $this->assertEquals($soloScore->user->replaysWatchedCounts()->where('year_month', $currentMonth)->first()->count, 1); 50 115 } 51 116 52 117 public function testDownloadDeletedBeatmap() ··· 137 202 }); 138 203 139 204 $this->user = User::factory()->create(); 140 - $this->score = Osu::factory()->withReplay()->create(); 205 + $this->otherUser = User::factory()->create(); 206 + 207 + UserStatistics\Osu::factory()->create(['user_id' => $this->user->user_id]); 208 + $this->score = Osu::factory()->withReplay()->create(['user_id' => $this->user->user_id]); 141 209 } 142 210 143 211 private function params()