mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-26 16:23:16 +00:00
commit
76a6e9c186
27 changed files with 426 additions and 114 deletions
|
@ -36,6 +36,8 @@
|
|||
- Updated api routes, fixes ([#2114](https://github.com/pixelfed/pixelfed/issues/2114)) ([50bbeddd](https://github.com/pixelfed/pixelfed/commit/50bbeddd))
|
||||
- Updated SiteController, add legacy profile/webfinger redirect ([cfaa248c](https://github.com/pixelfed/pixelfed/commit/cfaa248c))
|
||||
- Updated checkpoint view, fix recovery code bug ([3385583f](https://github.com/pixelfed/pixelfed/commit/3385583f))
|
||||
- Updated Inbox, move expensive HTTP Signature validation to job queue ([f2ae45e5a](https://github.com/pixelfed/pixelfed/commit/f2ae45e5a))
|
||||
- Updated MomentUI, fix bugs and improve UI ([90b89cb8](https://github.com/pixelfed/pixelfed/commit/90b89cb8))
|
||||
|
||||
|
||||
## [v0.10.9 (2020-04-17)](https://github.com/pixelfed/pixelfed/compare/v0.10.8...v0.10.9)
|
||||
|
|
|
@ -34,9 +34,11 @@ class CommentController extends Controller
|
|||
$this->validate($request, [
|
||||
'item' => 'required|integer|min:1',
|
||||
'comment' => 'required|string|max:'.(int) config('pixelfed.max_caption_length'),
|
||||
'sensitive' => 'nullable|boolean'
|
||||
]);
|
||||
$comment = $request->input('comment');
|
||||
$statusId = $request->item;
|
||||
$statusId = $request->input('item');
|
||||
$nsfw = $request->input('sensitive', false);
|
||||
|
||||
$user = Auth::user();
|
||||
$profile = $user->profile;
|
||||
|
@ -56,11 +58,12 @@ class CommentController extends Controller
|
|||
return;
|
||||
}
|
||||
|
||||
$reply = DB::transaction(function() use($comment, $status, $profile) {
|
||||
$reply = DB::transaction(function() use($comment, $status, $profile, $nsfw) {
|
||||
$scope = $profile->is_private == true ? 'private' : 'public';
|
||||
$autolink = Autolink::create()->autolink($comment);
|
||||
$reply = new Status();
|
||||
$reply->profile_id = $profile->id;
|
||||
$reply->is_nsfw = $nsfw;
|
||||
$reply->caption = e($comment);
|
||||
$reply->rendered = $autolink;
|
||||
$reply->in_reply_to_id = $status->id;
|
||||
|
|
BIN
public/js/profile.js
vendored
BIN
public/js/profile.js
vendored
Binary file not shown.
BIN
public/js/rempos.js
vendored
BIN
public/js/rempos.js
vendored
Binary file not shown.
BIN
public/js/status.js
vendored
BIN
public/js/status.js
vendored
Binary file not shown.
BIN
public/js/timeline.js
vendored
BIN
public/js/timeline.js
vendored
Binary file not shown.
Binary file not shown.
|
@ -3,10 +3,10 @@
|
|||
<div v-if="!loaded" style="height: 80vh;" class="d-flex justify-content-center align-items-center">
|
||||
<img src="/img/pixelfed-icon-grey.svg" class="">
|
||||
</div>
|
||||
<div v-if="loaded && warning" class="bg-white pt-3 border-bottom">
|
||||
<div v-if="loaded && warning" class="bg-white mt-n4 pt-3 border-bottom">
|
||||
<div class="container">
|
||||
<p class="text-center font-weight-bold">You are blocking this account</p>
|
||||
<p class="text-center font-weight-bold">Click <a href="#" class="cursor-pointer" @click.prevent="warning = false; fetchData()">here</a> to view this status</p>
|
||||
<p class="text-center font-weight-bold"><a href="#" class="btn btn-primary font-weight-bold px-5" @click.prevent="warning = false; fetchData()">View Status</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="loaded && warning == false" class="postComponent">
|
||||
|
@ -257,7 +257,7 @@
|
|||
|
||||
<div v-if="layout == 'moment'" class="momentui">
|
||||
<div class="bg-dark mt-md-n4">
|
||||
<div class="container" v-on:dblclick="likeStatus">
|
||||
<div class="container" style="max-width: 700px;">
|
||||
<div class="postPresenterContainer d-none d-flex justify-content-center align-items-center bg-dark">
|
||||
<div v-if="status.pf_type === 'photo'" class="w-100">
|
||||
<photo-presenter :status="status" v-on:lightbox="lightbox"></photo-presenter>
|
||||
|
@ -301,16 +301,24 @@
|
|||
<div class="share-count font-weight-bold mt-2 rounded border" v-if="status.visibility == 'public'" style="cursor:pointer;" v-on:click="sharesModal">{{status.reblogs_count || 0}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="reaction-counts font-weight-bold mb-0">
|
||||
<span class="like-count">{{status.favourites_count || 0}}</span> likes
|
||||
<span v-if="status.visibility == 'public'" class="float-right" style="cursor:pointer;" v-on:click="sharesModal">
|
||||
<span class="share-count pl-4">{{status.reblogs_count || 0}}</span> shares
|
||||
</span>
|
||||
</div> -->
|
||||
<div class="media align-items-center mt-3">
|
||||
<div v-if="status.length && status.content_text.includes('#') || status.content_text.includes('https://') || status.content_text.includes('@') || status.content_text.length > 45" class="media align-items-center mt-3">
|
||||
<div class="media-body">
|
||||
<h2 class="font-weight-bold">
|
||||
{{status.content.length > 100 ? status.content.slice(0,100) : 'Untitled Post'}}
|
||||
<p class="lead mr-2" v-html="status.content">
|
||||
</p>
|
||||
<p class="lead mb-0">
|
||||
by <a :href="statusProfileUrl">{{statusUsername}}</a>
|
||||
<span v-if="relationship && profile && user && !relationship.following && profile.id != user.id">
|
||||
<span class="px-1 text-lighter">•</span>
|
||||
<a class="font-weight-bold small" href="#">Follow</a>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<a :href="statusProfileUrl" :title="statusUsername"><img :src="statusAvatar" class="rounded-circle border mr-3" alt="avatar" width="72px" height="72px"></a>
|
||||
</div>
|
||||
<div v-else class="media align-items-center mt-3">
|
||||
<div class="media-body">
|
||||
<h2 class="font-weight-bold mr-2">
|
||||
{{status.content_text.length ? status.content_text : 'Untitled Post'}}
|
||||
</h2>
|
||||
<p class="lead mb-0">
|
||||
by <a :href="statusProfileUrl">{{statusUsername}}</a>
|
||||
|
@ -318,7 +326,7 @@
|
|||
<a class="font-weight-bold small" href="#">Follow</a> -->
|
||||
</p>
|
||||
</div>
|
||||
<img :src="statusAvatar" class="rounded-circle border mr-3" alt="avatar" width="72px" height="72px">
|
||||
<a :href="statusProfileUrl" :title="statusUsername"><img :src="statusAvatar" class="rounded-circle border mr-3" alt="avatar" width="72px" height="72px"></a>
|
||||
</div>
|
||||
<hr>
|
||||
<div>
|
||||
|
@ -330,8 +338,7 @@
|
|||
<i class="far fa-clock text-lighter mr-3"></i> {{timeAgo(status.created_at)}} ago
|
||||
</span>
|
||||
</p>
|
||||
<!-- <div v-if="status.content.length > 100" class="lead" v-html="status.content"></div> -->
|
||||
<!-- <div class="pt-4">
|
||||
<!-- <div class="">
|
||||
<p class="lead">
|
||||
<span class="mr-3"><i class="fas fa-camera text-lighter"></i></span>
|
||||
<span>Nikon D850</span>
|
||||
|
@ -353,57 +360,64 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 pt-4 pl-md-3">
|
||||
<p class="lead font-weight-bold">Comments</p>
|
||||
<div v-if="user && user.length" class="moment-comments">
|
||||
<div class="form-group">
|
||||
<textarea class="form-control" rows="3" placeholder="Add a comment ..." v-model="replyText"></textarea>
|
||||
<p style="padding-top:4px;">
|
||||
<span class="small text-lighter font-weight-bold">
|
||||
{{replyText.length}}/{{config.uploader.max_caption_length}}
|
||||
<p class="lead font-weight-bold">Comments</p>
|
||||
<div v-if="user != false" class="moment-comments">
|
||||
<div class="form-group">
|
||||
<textarea class="form-control" rows="3" placeholder="Add a comment ..." v-model="replyText"></textarea>
|
||||
<p class="d-flex justify-content-between align-items-center mt-3">
|
||||
<span class="small text-lighter font-weight-bold">
|
||||
{{replyText.length}}/{{config.uploader.max_caption_length}}
|
||||
</span>
|
||||
<span v-if="replyText.length > 2">
|
||||
<div class="custom-control custom-switch">
|
||||
<input type="checkbox" class="custom-control-input" @click="!!replySensitive" v-model="replySensitive" id="sensitiveReply">
|
||||
<label class="custom-control-label small font-weight-bold text-muted" style="padding-top: 3px" for="sensitiveReply">Add Content Warning</label>
|
||||
</div>
|
||||
</span>
|
||||
<button class="btn btn-sm font-weight-bold btn-outline-primary py-1"
|
||||
v-if="replyText.length > 2" @click="postReply">Post</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment mt-4" style="max-height: 500px; overflow-y: auto;">
|
||||
<div v-for="(reply, index) in results" :key="'tl' + reply.id + '_' + index" class="media mb-3 mt-2">
|
||||
<a :href="reply.account.url" :title="reply.account.username"><img :src="reply.account.avatar" class="rounded-circle border mr-3" alt="avatar" width="32px" height="32px"></a>
|
||||
<div class="media-body">
|
||||
<div class="d-flex justify-content-between">
|
||||
<span>
|
||||
<a class="font-weight-bold text-dark" :href="reply.account.url">{{reply.account.username}}</a>
|
||||
</span>
|
||||
<span class="text-lighter">
|
||||
<span v-if="reply.favourited" class="cursor-pointer mr-2" @click="likeReply(reply)">
|
||||
<i class="fas fa-heart text-danger"></i>
|
||||
</span>
|
||||
<span v-else class="cursor-pointer mr-2" @click="likeReply(reply)">
|
||||
<i class="far fa-heart"></i>
|
||||
</span>
|
||||
<span class="">
|
||||
<post-menu :status="reply" :profile="user" :size="'sm'" :modal="'true'" class="d-inline-block px-2" v-on:deletePost="deleteComment(reply.id, index)"></post-menu>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div v-if="reply.sensitive == true">
|
||||
<span class="py-3">
|
||||
<span class="text-break">
|
||||
<span class="font-italic text-muted">This comment may contain sensitive material</span>
|
||||
<span class="badge badge-primary cursor-pointer ml-2 py-1" @click="reply.sensitive = false;">Show</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div v-else class="read-more" style="overflow-y: hidden;">
|
||||
<p v-html="reply.content" class="mb-0">loading ...</p>
|
||||
</div>
|
||||
<p>
|
||||
<span class="small">
|
||||
<a class="text-lighter text-decoration-none" :href="reply.url">{{timeAgo(reply.created_at)}}</a>
|
||||
</span>
|
||||
<button
|
||||
:class="[replyText.length > 1 ? 'btn btn-sm font-weight-bold float-right btn-outline-dark ':'btn btn-sm font-weight-bold float-right btn-outline-lighter']"
|
||||
:disabled="replyText.length == 0 ? 'disabled':''"
|
||||
@click="postReply"
|
||||
>Post</button>
|
||||
</p>
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="comment mt-3" style="max-height: 500px; overflow-y: auto;">
|
||||
<div v-for="(reply, index) in results" :key="'tl' + reply.id + '_' + index" class="media mb-3">
|
||||
<img :src="reply.account.avatar" class="rounded-circle border mr-3" alt="avatar" width="32px" height="32px">
|
||||
<div class="media-body">
|
||||
<div class="d-flex justify-content-between">
|
||||
<span class="font-weight-bold">{{reply.account.username}}</span>
|
||||
<span class="small">
|
||||
<a class="text-lighter text-decoration-none" :href="reply.url">{{timeAgo(reply.created_at)}}</a>
|
||||
</span>
|
||||
</div>
|
||||
<p v-html="reply.content"></p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="media mb-3">
|
||||
<img :src="statusAvatar" class="rounded-circle border mr-3" alt="avatar" width="32px" height="32px">
|
||||
<div class="media-body">
|
||||
<div class="d-flex justify-content-between">
|
||||
<span class="font-weight-bold">mona</span>
|
||||
<span class="text-lighter small">2h ago</span>
|
||||
</div>
|
||||
<p>Stunning my friend!</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="media mb-3">
|
||||
<img :src="statusAvatar" class="rounded-circle border mr-3" alt="avatar" width="32px" height="32px">
|
||||
<div class="media-body">
|
||||
<div class="d-flex justify-content-between">
|
||||
<span class="font-weight-bold">Andre</span>
|
||||
<span class="text-lighter small">3h ago</span>
|
||||
</div>
|
||||
<p>Wow</p>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -617,6 +631,7 @@ export default {
|
|||
sharesPage: 1,
|
||||
lightboxMedia: false,
|
||||
replyText: '',
|
||||
replySensitive: false,
|
||||
relationship: {},
|
||||
results: [],
|
||||
pagination: {},
|
||||
|
@ -916,7 +931,8 @@ export default {
|
|||
}
|
||||
let data = {
|
||||
item: this.replyingToId,
|
||||
comment: this.replyText
|
||||
comment: this.replyText,
|
||||
sensitive: this.replySensitive
|
||||
}
|
||||
|
||||
this.replyText = '';
|
||||
|
|
|
@ -56,12 +56,12 @@
|
|||
<a class="list-group-item text-dark text-decoration-none" :href="status.url">Go to post</a>
|
||||
<!-- a class="list-group-item font-weight-bold text-decoration-none" :href="status.url">Share</a>
|
||||
<a class="list-group-item font-weight-bold text-decoration-none" :href="status.url">Embed</a> -->
|
||||
<a class="list-group-item text-dark text-decoration-none" href="#" @click="hidePost(status)">Hide</a>
|
||||
<a class="list-group-item text-dark text-decoration-none" href="#" @click.prevent="hidePost(status)">Hide</a>
|
||||
<a v-if="activeSession == true && !statusOwner(status)" class="list-group-item text-dark text-decoration-none" :href="reportUrl(status)">Report</a>
|
||||
<a v-if="activeSession == true && !statusOwner(status)" class="list-group-item text-dark text-decoration-none" v-on:click="muteProfile(status)" href="#">Mute Profile</a>
|
||||
<a v-if="activeSession == true && !statusOwner(status)" class="list-group-item text-dark text-decoration-none" v-on:click="blockProfile(status)" href="#">Block Profile</a>
|
||||
<a v-if="activeSession == true && !statusOwner(status)" class="list-group-item text-dark text-decoration-none" @click.prevent="muteProfile(status)" href="#">Mute Profile</a>
|
||||
<a v-if="activeSession == true && !statusOwner(status)" class="list-group-item text-dark text-decoration-none" @click.prevent="blockProfile(status)" href="#">Block Profile</a>
|
||||
<span v-if="activeSession == true && statusOwner(status) == true || profile.is_admin == true">
|
||||
<a class="list-group-item text-danger text-decoration-none" v-on:click="deletePost">Delete</a>
|
||||
<a class="list-group-item text-danger text-decoration-none" @click.prevent="deletePost">Delete</a>
|
||||
</span>
|
||||
<span v-if="activeSession == true && profile.is_admin == true">
|
||||
<a class="list-group-item text-dark text-decoration-none" v-on:click="moderatePost(status, 'autocw')" href="#">
|
||||
|
|
19
resources/lang/eo/auth.php
Normal file
19
resources/lang/eo/auth.php
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => 'Tiuj ĉi akreditaĵojn ne kongruas kun niajn registraĵojn.',
|
||||
'throttle' => 'Tro saluton provojn. Bonvolu provu refoje post :seconds sekundoj.',
|
||||
|
||||
];
|
11
resources/lang/eo/exception.php
Normal file
11
resources/lang/eo/exception.php
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'compose' => [
|
||||
'invalid' => [
|
||||
'album' => 'Metu unu foton aŭ videon, aŭ multajn fotojn.',
|
||||
],
|
||||
],
|
||||
|
||||
];
|
26
resources/lang/eo/helpcenter.php
Normal file
26
resources/lang/eo/helpcenter.php
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'helpcenter' => 'Helpejo',
|
||||
'whatsnew' => 'Kio Novas',
|
||||
|
||||
'gettingStarted' => 'Komenci',
|
||||
'sharingMedia' => 'Kunhavigi Mediojn',
|
||||
'profile' => 'Profilo',
|
||||
'stories' => 'Historioj',
|
||||
'hashtags' => 'Kradvortoj',
|
||||
'discover' => 'Trovi',
|
||||
'directMessages' => 'Rektaj Mesaĝoj',
|
||||
'timelines' => 'Kronologioj',
|
||||
'embed' => 'Enkorpigi',
|
||||
|
||||
'communityGuidelines' => 'Konumumaj Gvidiloj',
|
||||
'whatIsTheFediverse' => 'Kio Estas la Fediverso?',
|
||||
'controllingVisibility' => 'Kontroli Videbleco',
|
||||
'blockingAccounts' => 'Bloki Kontoj',
|
||||
'safetyTips' => 'Sekurecaj Konsiletoj',
|
||||
'reportSomething' => 'Informi',
|
||||
'dataPolicy' => 'Datuma Politiko'
|
||||
|
||||
];
|
19
resources/lang/eo/navmenu.php
Normal file
19
resources/lang/eo/navmenu.php
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'search' => 'Serĉi',
|
||||
'home' => 'Hejmo',
|
||||
'local' => 'Loka',
|
||||
'network' => 'Reta',
|
||||
'discover' => 'Trovi',
|
||||
'viewMyProfile' => 'Rigardi mia profilo',
|
||||
'myProfile' => 'Mia Profilo',
|
||||
'myTimeline' => 'Mia Kronologio',
|
||||
'publicTimeline' => 'Publica Kronologio',
|
||||
'remoteFollow' => 'Sekvi Reta',
|
||||
'settings' => 'Agordoj',
|
||||
'admin' => 'Administri',
|
||||
'logout' => 'Adiaŭi',
|
||||
'directMessages' => 'Rektaj Mesaĝoj',
|
||||
'composePost' => 'Afiŝi',
|
||||
];
|
12
resources/lang/eo/notification.php
Normal file
12
resources/lang/eo/notification.php
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'likedPhoto' => 'ŝatis vian afiŝon.',
|
||||
'likedComment' => 'ŝatis vian komenton.',
|
||||
'startedFollowingYou' => 'eksetvis vin.',
|
||||
'commented' => 'komentis vian afiŝon.',
|
||||
'mentionedYou' => 'menciis vin.',
|
||||
'shared' => 'kunhavigis vian afiŝon.',
|
||||
|
||||
];
|
19
resources/lang/eo/pagination.php
Normal file
19
resources/lang/eo/pagination.php
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Antaŭa',
|
||||
'next' => 'Sekva »',
|
||||
|
||||
];
|
22
resources/lang/eo/passwords.php
Normal file
22
resources/lang/eo/passwords.php
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'password' => 'Pasvortoj devas havi minimume ses signojn kaj kongrui kun la konfirmo.',
|
||||
'reset' => 'Via pasvorto restarigis!',
|
||||
'sent' => 'Se via retadreso ekzistas en nia datumbazo, tiam vi ricevos pasvort-reakiran ligilon en via retadreso post nelonge. Bonvolu, kontrolu vian spamujon se vi ne ricevis.',
|
||||
'token' => 'Ĉi tiu pasvort-reakiran ligilon ne validas.',
|
||||
'user' => 'Se via retadreso ekzistas en nia datumbazo, tiam vi ricevos pasvort-reakiran ligilon en via retadreso post nelonge. Bonvolu, kontrolu vian spamujon se vi ne ricevis.',
|
||||
|
||||
];
|
15
resources/lang/eo/profile.php
Normal file
15
resources/lang/eo/profile.php
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'emptyTimeline' => 'Ĉi tiu uzanto ankoraŭ ne havas afiŝojn!',
|
||||
'emptyFollowers' => 'Ĉi tiu uzanto ankoraŭ ne havas sekvantojn!',
|
||||
'emptyFollowing' => 'Ĉi tiu uzanto ankoraŭ ne sekvas iu!',
|
||||
'emptySaved' => 'Vi ankoraŭ ne konservis neniujn afiŝojn!',
|
||||
'savedWarning' => 'Sola vi permisas vidi kion vi konservis',
|
||||
'privateProfileWarning' => 'Ĉi tiu konto estas privata',
|
||||
'alreadyFollow' => 'Vi jam sekvas :username?',
|
||||
'loginToSeeProfile' => 'vidi lian fotojn kaj videojn.',
|
||||
|
||||
'status.disabled.header' => 'Profilo Maldisponebla',
|
||||
'status.disabled.body' => 'Mi bedaŭras, ĉi tiu profilo momente estas maldisponebla. Bonvolu, momente provu denove.',
|
||||
];
|
20
resources/lang/eo/site.php
Normal file
20
resources/lang/eo/site.php
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'about' => 'Pri',
|
||||
'help' => 'Helpejo',
|
||||
'language' => 'Lingvo',
|
||||
'fediverse' => 'Fediverso',
|
||||
'opensource' => 'Libera Programaro',
|
||||
'terms' => 'Kondiĉoj',
|
||||
'privacy' => 'Privateco',
|
||||
'l10nWip' => 'Ni daŭre laboras pri lokaliza subteno',
|
||||
'currentLocale' => 'Kuranta lokoĵaro',
|
||||
'selectLocale' => 'Elektu unu de la subtenataj lingvoj',
|
||||
'contact' => 'Kontakti',
|
||||
'contact-us' => 'Kontactu nin',
|
||||
'places' => 'Lokoj',
|
||||
'profiles' => 'Profiloj',
|
||||
|
||||
];
|
7
resources/lang/eo/timeline.php
Normal file
7
resources/lang/eo/timeline.php
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'emptyPersonalTimeline' => 'Via kronologio estas malplena.',
|
||||
|
||||
];
|
122
resources/lang/eo/validation.php
Normal file
122
resources/lang/eo/validation.php
Normal file
|
@ -0,0 +1,122 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => 'La :attribute devas esti akceptita.',
|
||||
'active_url' => 'La :attribute ne estas valida URL.',
|
||||
'after' => 'La :attribute devas esti dato post :date.',
|
||||
'after_or_equal' => 'La :attribute devas esti dato post aŭ la sama kiel :date.',
|
||||
'alpha' => 'La :attribute devas enhavi nur literoj.',
|
||||
'alpha_dash' => 'La :attribute devas enhavi nur literoj, ciferoj, kaj streketoj.',
|
||||
'alpha_num' => 'La :attribute devas enhavi nur literoj kaj ciferoj.',
|
||||
'array' => 'La :attribute devas esti tabelo.',
|
||||
'before' => 'La :attribute devas esti dato antaŭ :date.',
|
||||
'before_or_equal' => 'La :attribute devas esti dato antaŭ aŭ la sama kiel :date.',
|
||||
'between' => [
|
||||
'numeric' => 'La :attribute devas esti inter :min kaj :max.',
|
||||
'file' => 'La :attribute devas esti inter :min kaj :max kilobajtoj.',
|
||||
'string' => 'La :attribute devas esti inter :min kaj :max signoj.',
|
||||
'array' => 'La :attribute devas havi inter :min kaj :max eroj.',
|
||||
],
|
||||
'boolean' => 'La :attribute kampo devas esti vera aŭ malvera.',
|
||||
'confirmed' => 'La :attribute konfirmo ne kongruas.',
|
||||
'date' => 'La :attribute ne estas validan daton.',
|
||||
'date_format' => 'La :attribute ne kongruas la strukturon :format.',
|
||||
'different' => 'La :attribute kaj :other devas esti malsama.',
|
||||
'digits' => 'La :attribute devas esti :digits ciferoj.',
|
||||
'digits_between' => 'La :attribute devas esti inter :min kaj :max ciferoj.',
|
||||
'dimensions' => 'La :attribute havas malvalidan bildan dimensiojn.',
|
||||
'distinct' => 'La :attribute kampo havas duoblan valoron.',
|
||||
'email' => 'La :attribute devas esti valida retadreso.',
|
||||
'exists' => 'La elektita :attribute estas malvalida.',
|
||||
'file' => 'La :attribute devas esti dosiejro.',
|
||||
'filled' => 'La :attribute kampo devas havi valoro.',
|
||||
'image' => 'La :attribute devas esti bildo.',
|
||||
'in' => 'La elektita :attribute estas malvalida.',
|
||||
'in_array' => 'La :attribute kampo ne ekzistas en :other.',
|
||||
'integer' => 'La :attribute devas esti entjero.',
|
||||
'ip' => 'La :attribute devas esti valida IP-adreso.',
|
||||
'ipv4' => 'La :attribute devas esti valida IPv4-adreso.',
|
||||
'ipv6' => 'La :attribute devas esti valida IPv6-adreso.',
|
||||
'json' => 'La :attribute devas esti valida JSON-signoĉeno.',
|
||||
'max' => [
|
||||
'numeric' => 'La :attribute ne devas esti pri granda ol :max.',
|
||||
'file' => 'La :attribute ne devas esti pri granda ol :max kilobajtoj.',
|
||||
'string' => 'La :attribute ne devas esti pri granda ol :max signoj.',
|
||||
'array' => 'La :attribute ne devas havi pli ol :max eroj.',
|
||||
],
|
||||
'mimes' => 'La :attribute devas esti dosiejro de tipo: :values.',
|
||||
'mimetypes' => 'La :attribute devas esti dosierjo de tipo: :values.',
|
||||
'min' => [
|
||||
'numeric' => 'La :attribute devas esti minimume :min.',
|
||||
'file' => 'La :attribute devas esti minimume :min kilobajtoj.',
|
||||
'string' => 'La :attribute devas esti minimume :min signoj.',
|
||||
'array' => 'La :attribute devas havi minimume :min eroj.',
|
||||
],
|
||||
'not_in' => 'La elektita :attribute estas malvalida.',
|
||||
'not_regex' => 'La :attribute strukturo estas malvalida.',
|
||||
'numeric' => 'La :attribute devas esti ciferoj.',
|
||||
'present' => 'La :attribute kampo devas ĉeesti.',
|
||||
'regex' => 'La :attribute strukturo estas malvalida.',
|
||||
'required' => 'La :attribute kampo estas bezonata.',
|
||||
'required_if' => 'La :attribute kampo estas bezonata kiam :other estas :value.',
|
||||
'required_unless' => 'La :attribute kampo estas bezonata krom se :other estas en :values.',
|
||||
'required_with' => 'La :attribute kampo estas bezonata kiam :values ĉeestas.',
|
||||
'required_with_all' => 'La :attribute kampo estas bezonata kiam :values ĉeestas.',
|
||||
'required_without' => 'La :attribute kampo estas bezonata kiam :values ne ĉeestas.',
|
||||
'required_without_all' => 'La :attribute kampo estas bezonata kiam neniu el :values ĉeestas.',
|
||||
'same' => 'La :attribute kaj :other devas kongrui.',
|
||||
'size' => [
|
||||
'numeric' => 'La :attribute devas esti :size.',
|
||||
'file' => 'La :attribute devas esti :size kilobajtoj.',
|
||||
'string' => 'La :attribute devas esti :size signoj.',
|
||||
'array' => 'La :attribute devas havi :size eroj.',
|
||||
],
|
||||
'string' => 'La :attribute devas esti signoĉeno.',
|
||||
'timezone' => 'La :attribute devas esti valida zono.',
|
||||
'unique' => 'La :attribute jam estis prenita.',
|
||||
'uploaded' => 'La :attribute ne povis alŝuti.',
|
||||
'url' => 'La :attribute strukturo estas malvalida.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap attribute place-holders
|
||||
| with something more reader friendly such as E-Mail Address instead
|
||||
| of "email". This simply helps us make messages a little cleaner.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
|
@ -1,10 +1,10 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'compose' => [
|
||||
'invalid' => [
|
||||
'album' => 'Doit contenir une seule photo ou vidéo ou plusieurs photos.',
|
||||
],
|
||||
],
|
||||
'compose' => [
|
||||
'invalid' => [
|
||||
'album' => 'Doit contenir une seule photo ou vidéo ou plusieurs photos.',
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'helpcenter' => 'Centre d\'aide',
|
||||
'whatsnew' => 'Ce qui est nouveau',
|
||||
'helpcenter' => 'Centre d\'aide',
|
||||
'whatsnew' => 'Ce qui est nouveau',
|
||||
|
||||
'gettingStarted' => 'Débuter',
|
||||
'sharingMedia' => 'Partager du contenu',
|
||||
'profile' => 'Profil',
|
||||
'stories' => 'Stories',
|
||||
'hashtags' => 'Hashtags',
|
||||
'discover' => 'Découvrir',
|
||||
'directMessages' => 'Messages Directs',
|
||||
'timelines' => 'Chronologies',
|
||||
'embed' => 'Intégrer',
|
||||
'gettingStarted' => 'Débuter',
|
||||
'sharingMedia' => 'Partager du contenu',
|
||||
'profile' => 'Profil',
|
||||
'stories' => 'Stories',
|
||||
'hashtags' => 'Hashtags',
|
||||
'discover' => 'Découvrir',
|
||||
'directMessages' => 'Messages Directs',
|
||||
'timelines' => 'Chronologies',
|
||||
'embed' => 'Intégrer',
|
||||
|
||||
'communityGuidelines' => 'Règlement de la communauté',
|
||||
'whatIsTheFediverse' => 'Qu\'est-ce que le fediverse ?',
|
||||
'controllingVisibility' => 'Contrôler la visibilité',
|
||||
'blockingAccounts' => 'Blocage des comptes',
|
||||
'safetyTips' => 'Conseils de sécurité',
|
||||
'reportSomething' => 'Signaler quelque chose',
|
||||
'dataPolicy' => 'Politique en matière de données'
|
||||
'communityGuidelines' => 'Règlement de la communauté',
|
||||
'whatIsTheFediverse' => 'Qu\'est-ce que le fediverse ?',
|
||||
'controllingVisibility' => 'Contrôler la visibilité',
|
||||
'blockingAccounts' => 'Blocage des comptes',
|
||||
'safetyTips' => 'Conseils de sécurité',
|
||||
'reportSomething' => 'Signaler quelque chose',
|
||||
'dataPolicy' => 'Politique en matière de données'
|
||||
];
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'search' => 'Rechercher',
|
||||
'home' => 'Accueil',
|
||||
'local' => 'Local',
|
||||
'network' => 'Réseau',
|
||||
'discover' => 'Découvrir',
|
||||
'search' => 'Rechercher',
|
||||
'home' => 'Accueil',
|
||||
'local' => 'Local',
|
||||
'network' => 'Réseau',
|
||||
'discover' => 'Découvrir',
|
||||
'viewMyProfile' => 'Voir mon profil',
|
||||
'myTimeline' => 'Ma Chronologie',
|
||||
'publicTimeline' => 'Chronologie Publique',
|
||||
|
@ -13,6 +13,6 @@ return [
|
|||
'settings' => 'Paramètres',
|
||||
'admin' => 'Admin',
|
||||
'logout' => 'Se déconnecter',
|
||||
'directMessages' => 'Messages Directs',
|
||||
'directMessages' => 'Messages Directs',
|
||||
'composePost' => 'Composer une publication',
|
||||
];
|
||||
|
|
|
@ -6,5 +6,5 @@ return [
|
|||
'startedFollowingYou' => 'a commencé à vous suivre.',
|
||||
'commented' => 'a commenté votre publication.',
|
||||
'mentionedYou' => 'vous a mentionné.',
|
||||
'shared' => 'a partagé votre publication.',
|
||||
'shared' => 'a partagé votre publication.',
|
||||
];
|
||||
|
|
|
@ -11,5 +11,5 @@ return [
|
|||
'loginToSeeProfile' => 'pour pouvoir consulter leurs photos et vidéos.',
|
||||
|
||||
'status.disabled.header' => 'Profil indisponible',
|
||||
'status.disabled.body' => 'Désolé, ce profil n’est pas disponible pour le moment. Veuillez réessayer plus tard.',
|
||||
'status.disabled.body' => 'Désolé, ce profil n’est pas disponible pour le moment. Veuillez réessayer plus tard.',
|
||||
];
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'about' => 'À propos',
|
||||
'help' => 'Aide',
|
||||
'language' => 'Langue',
|
||||
'fediverse' => 'Fediverse',
|
||||
'opensource' => 'Open Source',
|
||||
'terms' => 'Conditions',
|
||||
'privacy' => 'Vie privée',
|
||||
'l10nWip' => 'Nous travaillons toujours sur la prise en charge des langues',
|
||||
'currentLocale' => 'Langue actuelle',
|
||||
'selectLocale' => 'Sélectionnez l\'une des langues prises en charge',
|
||||
'contact' => 'Contact',
|
||||
'contact-us' => 'Nous contacter',
|
||||
'about' => 'À propos',
|
||||
'help' => 'Aide',
|
||||
'language' => 'Langue',
|
||||
'fediverse' => 'Fediverse',
|
||||
'opensource' => 'Open Source',
|
||||
'terms' => 'Conditions',
|
||||
'privacy' => 'Vie privée',
|
||||
'l10nWip' => 'Nous travaillons toujours sur la prise en charge des langues',
|
||||
'currentLocale' => 'Langue actuelle',
|
||||
'selectLocale' => 'Sélectionnez l\'une des langues prises en charge',
|
||||
'contact' => 'Contact',
|
||||
'contact-us' => 'Nous contacter',
|
||||
];
|
||||
|
|
|
@ -114,4 +114,3 @@ return [
|
|||
*/
|
||||
'attributes' => [],
|
||||
];
|
||||
|
||||
|
|
Loading…
Reference in a new issue