Expanded translation coverage on timeline

This commit is contained in:
Jeff Poirier 2024-07-07 20:00:32 +00:00
parent 08d5d2d731
commit 7b2c4d8306
28 changed files with 1066 additions and 309 deletions

Binary file not shown.

Binary file not shown.

BIN
public/_lang/fr_CA.json Normal file

Binary file not shown.

BIN
public/js/spa.js vendored

Binary file not shown.

View file

@ -22,7 +22,7 @@
:src="config.about.banner_image"
class="img-fluid rounded"
style="width: 100%;max-height: 200px;object-fit: cover;"
alt="Server banner image"
:alt="$t('landing.serverbanner.alt')"
height="200"
onerror="this.src='/storage/headers/default.jpg';this.onerror=null;">
</div>

View file

@ -12,7 +12,7 @@
</div>
<div class="d-flex align-items-center justify-content-center flex-column w-100 overflow-hidden">
<p class="small text-muted mb-0 text-uppercase font-weight-light cursor-pointer text-truncate text-center" style="width: 70%;" @click="goBack()">&commat;{{ profile.acct }}</p>
<p class="lead font-weight-bold mt-n1 mb-0">{{ $t('profile.followers.caption') }}</p>
<p class="lead font-weight-bold mt-n1 mb-0">{{ $tc('profile.followers.caption') }}</p>
</div>
<div>
<a class="btn btn-dark rounded-pill font-weight-bold spacer-btn" href="#">Back</a>

View file

@ -14,7 +14,7 @@
</a>
<div v-if="user.id == profile.id">
<a class="btn btn-outline-primary px-3 py-1 font-weight-bold rounded-pill" href="/settings/home">Edit Profile</a>
<a class="btn btn-outline-primary px-3 py-1 font-weight-bold rounded-pill" href="/settings/home">{{ $t('profile.actions.editProfile') }}</a>
</div>
<div v-if="user.id != profile.id && relationship">
@ -24,7 +24,7 @@
:disabled="isLoading"
@click="performUnfollow()">
<span v-if="isLoading"><b-spinner small /></span>
<span v-else>Following</span>
<span v-else>{{ $t('profile.relationship.following') }}</span>
</button>
<div v-else>
<button
@ -33,9 +33,9 @@
:disabled="isLoading"
@click="performFollow()">
<span v-if="isLoading"><b-spinner small /></span>
<span v-else>Follow</span>
<span v-else>{{ $t('profile.relationship.requestFollow') }}</span>
</button>
<button v-else class="btn btn-primary primary px-3 py-1 font-weight-bold rounded-pill" disabled>Follow Requested</button>
<button v-else class="btn btn-primary primary px-3 py-1 font-weight-bold rounded-pill" disabled>{{ $t('profile.relationship.requestFollow') }}</button>
</div>
</div>
</div>
@ -57,7 +57,7 @@
</a>
<p v-if="user.id != profile.id && relationship && relationship.followed_by" class="username-follows-you">
<span>Follows You</span>
<span>{{ $t('profile.relationship.followsYou') }}</span>
</p>
</div>
@ -72,10 +72,10 @@
<p class="stats">
<span class="stats-following">
<span class="following-count">{{ formatCount(profile.following_count) }}</span> {{ $t('profile.following.caption', profile.following_count) }}
<span class="following-count">{{ formatCount(profile.following_count) }}</span> {{ $tc('profile.relationship.followingCount', profile.following_count) }}
</span>
<span class="stats-followers">
<span class="followers-count">{{ formatCount(profile.followers_count) }}</span> Followers
<span class="followers-count">{{ formatCount(profile.followers_count) }}</span> {{ $tc('profile.relationship.followerCount', profile.followers_count)}}
</span>
</p>
</div>

View file

@ -28,20 +28,17 @@
</div>
<div class="btn-group btn-group-lg btn-block mb-4">
<!-- <button type="button" class="btn btn-outline-primary btn-block font-weight-bold" style="border-top-left-radius: 18px;border-bottom-left-radius:18px;font-size:18px;font-weight:300!important" @click="createNewPost()">
<i class="fal fa-arrow-circle-up mr-1"></i> {{ $t('navmenu.composePost') }}
</button> -->
<router-link to="/i/web/compose" class="btn btn-primary btn-block font-weight-bold">
<i class="fal fa-arrow-circle-up mr-1"></i> {{ $t('navmenu.composePost') }}
<i class="fal fa-arrow-circle-up mr-1"></i> {{ $t('sidebar.compose') }}
</router-link>
<button type="button" class="btn btn-outline-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item font-weight-bold" href="/i/collections/create">Create Collection</a>
<a v-if="hasStories" class="dropdown-item font-weight-bold" href="/i/stories/new">Create Story</a>
<a class="dropdown-item font-weight-bold" href="/i/collections/create">{{ $t('sidebar.createdrop.collection') }}</a>
<a v-if="hasStories" class="dropdown-item font-weight-bold" href="/i/stories/c">{{ $t('sidebar.createdrop.story') }}</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item font-weight-bold" href="/settings/home">Account Settings</a>
<a class="dropdown-item font-weight-bold" href="/settings/home">{{ $t('sidebar.createdrop.accountSettings') }}</a>
</div>
</div>

View file

@ -28,6 +28,9 @@
"sensitiveContent": "Sensitive Content",
"sensitiveContentWarning": "This post may contain sensitive content"
},
"login": {
"header": "Account Login"
},
"site": {
"terms": "Terms of Use",
"privacy": "Privacy Policy"
@ -47,7 +50,9 @@
"profile": "Profile",
"drive": "Drive",
"settings": "Settings",
"composePost": "Create New Post",
"compose": "Create New Post",
"login": "Login",
"register": "Register",
"logout": "Logout",
"about": "About",
"help": "Help",
@ -58,10 +63,65 @@
"backToPreviousDesign": "Go back to previous design"
},
"landing": {
"auth": {
"login": "Login",
"signup": "Signup"
},
"navmenu": {
"about": "About",
"directory": "Directory",
"explore": "Explore",
"header": "Decentralized photo sharing social media powered by {pixelfedLink}"
"explore": "Explore"
},
"serverbanner": {
"alt": "Server banner images"
},
"about": {
"header": "Decentralized photo sharing social media powered by {pixelfedLink}",
"stats": {
"posts": "Posts",
"activeUsers": "Active Users",
"totalUsers": "Total Users"
},
"details": {
"about": "About",
"serverRules": "Server Rules",
"supportedFeatures": "Supported Features"
},
"features": {
"photoPosts": "Photo Posts",
"photoAlbums": "Photo Albums",
"photoFilters": "Photo Filters",
"collections": "Collections",
"comments": "Comments",
"hashtags": "Hashtags",
"likes": "Likes",
"notifications": "Notifications",
"shares": "Shares",
"federation": "Federation",
"mobileAppSupport": "Mobile App Support",
"stories": "Stories",
"videos": "Videos"
}
},
"discover": {
"tagline": "Discover accounts and people",
"empty": "Nothing to show yet! Check back later."
},
"explore": {
"tagline": "Explore trending posts"
},
"notfound": {
"header": "404 - Not Found",
"description": "The page you are looking for does not exist",
"goback": "Go back home"
},
"footer": {
"help": "Help",
"terms": "Terms",
"privacy": "Privacy",
"mobileApps": "Applications mobiles",
"poweredByPixelfed": "Powered by Pixelfed"
}
},
"uiSettings": {
"title": "UI Settings",
@ -110,19 +170,21 @@
"uploading": "Uploading"
},
"profile": {
"actions": {
"requestFollow": "Follow",
"unfollow": "Unfollow",
"editProfile": "Edit Profile"
},
"relationship": {
"followerCount": "Follower | Followers",
"followingCount": "Following",
"following": "Following",
"followRequested": "Follow Requested",
"followsYou": "Follows You"
},
"posts": "Posts",
"followers": {
"caption": "Follower | Followers"
},
"following": {
"caption": "Following"
},
"admin": "Admin",
"collections": "Collections",
"follow": "Follow",
"unfollow": "Unfollow",
"editProfile": "Edit Profile",
"followRequested": "Follow Requested",
"joined": "Joined",
"emptyCollections": "We can't seem to find any collections",
"emptyPosts": "We can't seem to find any posts"
@ -195,6 +257,12 @@
},
"sidebar": {
"followingCount": "Following",
"followersCount": "Followers"
"followersCount": "Followers",
"compose": "Compose New Post",
"createdrop": {
"collection": "Create Collection",
"story": "Create Story",
"accountSettings": "Account Settings"
}
}
}

View file

@ -10,20 +10,15 @@
"shared": "Partag\u00e9",
"shares": "Partages",
"unshare": "Ne plus partager",
"bookmark": "Signet",
"cancel": "Annuler",
"copyLink": "Copier le lien",
"delete": "Supprimer",
"error": "Erreur",
"errorMsg": "Une erreur s'est produite; veuillez r\u00e9essayer plus tard.",
"errorMsg": "Une erreur est survenue. Veuillez r\u00e9essayer plus tard.",
"oops": "Zut !",
"other": "Autre",
"readMore": "En savoir plus",
"success": "Op\u00e9ration r\u00e9ussie",
"proceed": "Continuer",
"next": "Suivant",
"close": "Fermer",
"clickHere": "cliquez ici",
"sensitive": "Sensible",
"sensitiveContent": "Contenu sensible",
"sensitiveContentWarning": "Le contenu de ce message peut \u00eatre sensible"
@ -33,53 +28,31 @@
"privacy": "Politique de confidentialit\u00e9"
},
"navmenu": {
"search": "Rechercher",
"admin": "Administration",
"homeFeed": "Fil personnel",
"search": "Chercher",
"admin": "Tableau de bord d'administration",
"homeFeed": "Fil principal",
"localFeed": "Fil local",
"globalFeed": "Fil universel",
"discover": "D\u00e9couverte",
"directMessages": "Messages priv\u00e9s",
"globalFeed": "Fil global",
"discover": "D\u00e9couvrir",
"directMessages": "Messages Priv\u00e9s",
"notifications": "Notifications",
"groups": "Groupes",
"stories": "Stories",
"uiSettings": "Param\u00e8tres visuels",
"profile": "Mon profil",
"profile": "Profil",
"drive": "M\u00e9diath\u00e8que",
"settings": "Param\u00e8tres",
"composePost": "R\u00e9diger",
"logout": "D\u00e9connexion",
"compose": "Publier",
"logout": "Logout",
"about": "\u00c0 propos",
"help": "Aide",
"language": "Langue",
"privacy": "Confidentialit\u00e9",
"terms": "Conditions",
"poweredByPixelfed": "Propuls\u00e9 par Pixelfed",
"backToPreviousDesign": "Basculer vers l'ancienne interface"
},
"landing": {
"about": "\u00c0 propos",
"directory": "Bottin",
"explore": "D\u00e9couverte",
"header": "Le partage de photos, dans un m\u00e9dia social d\u00e9centralis\u00e9, propuls\u00e9 par {pixelfedLink}"
},
"uiSettings": {
"title": "Param\u00e8tres visuels",
"theme": "Jeu de couleurs",
"themeAutoMode": "Auto",
"themeDarkMode": "Sombre",
"themeLightMode": "Clair",
"profileLayout": "Mise en page du profil",
"layoutGrid": "Grille",
"layoutMasonry": "Masonry",
"layoutFeed": "Fil",
"compactMediaPreviews": "Affichage des aper\u00e7us en format compact",
"loadComments": "Chargement des commentaires",
"hideCountsStats": "Masquage des d\u00e9comptes et des statistiques"
"backToPreviousDesign": "Revenir au design pr\u00e9c\u00e9dent"
},
"directMessages": {
"inbox": "Bo\u00eete de r\u00e9ception",
"sent": "Bo\u00eete d'envoi",
"sent": "Bo\u00eete d'envois",
"requests": "Demandes"
},
"notifications": {
@ -87,45 +60,40 @@
"commented": "a comment\u00e9 votre",
"reacted": "a r\u00e9agi \u00e0 votre",
"shared": "a partag\u00e9 votre",
"tagged": "vous a identifi\u00e9\u00b7e dans un\u00b7e",
"tagged": "vous a tagu\u00e9\u00b7e dans un",
"updatedA": "mis \u00e0 jour un\u00b7e",
"sentA": "a envoy\u00e9 un\u00b7e",
"followed": "s'est abonn\u00e9\u00b7e \u00e0",
"mentioned": "a mentionn\u00e9",
"you": "vous",
"yourApplication": "Votre candidature",
"yourApplication": "Votre candidature \u00e0 rejoindre",
"applicationApproved": "a \u00e9t\u00e9 approuv\u00e9e !",
"applicationRejected": "a \u00e9t\u00e9 rejet\u00e9e. Vous pourrez tenter \u00e0 nouveau dans 6 mois.",
"applicationRejected": "a \u00e9t\u00e9 rejet\u00e9e. Vous pouvez refaire une demande dans 6 mois.",
"dm": "mp",
"groupPost": "publication de groupe",
"modlog": "journal de mod\u00e9ration",
"post": "publication",
"story": "story",
"noneFound": "Aucune notification"
"story": "story"
},
"post": {
"shareToFollowers": "Partager avec ses abonn\u00e9\u00b7e\u00b7s",
"shareToOther": "Partager avec d'autres",
"noLikes": "Aucune mention J'aime pour le moment",
"noLikes": "Aucun J'aime pour le moment",
"uploading": "Envoi en cours"
},
"profile": {
"posts": "Publications",
"followers": {
"caption": "Abonn\u00e9\u00b7e | Abonn\u00e9\u00b7e\u00b7s"
},
"following": {
"caption": "Abonnement | Abonnements"
},
"followers": "Abonn\u00e9\u00b7e\u00b7s",
"following": "Abonnements",
"admin": "Administrateur\u00b7rice",
"collections": "Collections",
"follow": "S'abonner",
"unfollow": "Se d\u00e9sabonner",
"editProfile": "Modifier mon profil",
"editProfile": "Modifier votre profil",
"followRequested": "Demande d'abonnement",
"joined": "Depuis",
"emptyCollections": "Pas de collections!",
"emptyPosts": "Pas de publications!"
"joined": "A rejoint",
"emptyCollections": "Aucune collection ne semble exister",
"emptyPosts": "Aucune publication ne semble exister"
},
"menu": {
"viewPost": "Voir la publication",
@ -135,13 +103,13 @@
"archive": "Archiver",
"unarchive": "D\u00e9sarchiver",
"embed": "Int\u00e9grer",
"selectOneOption": "Choisir parmi les options suivantes",
"unlistFromTimelines": "Retirer des fils",
"addCW": "Ajouter un avertissement",
"removeCW": "Enlever l\u2019avertissement",
"markAsSpammer": "D\u00e9clarer en tant que pourrielleur\u00b7euse",
"markAsSpammerText": "D\u00e9claration de source de pourriels",
"spam": "Pourriel",
"selectOneOption": "S\u00e9lectionnez l'une des options suivantes",
"unlistFromTimelines": "Retirer des flux",
"addCW": "Ajouter un avertissement de contenu",
"removeCW": "Enlever l\u2019avertissement de contenu",
"markAsSpammer": "Marquer comme spammeur\u00b7euse",
"markAsSpammerText": "Retirer + avertissements pour les contenus existants et futurs",
"spam": "Ind\u00e9sirable",
"sensitive": "Contenu sensible",
"abusive": "Abusif ou pr\u00e9judiciable",
"underageAccount": "Compte d'un\u00b7e mineur\u00b7e",
@ -154,47 +122,29 @@
"reportSentText": "Nous avons bien re\u00e7u votre signalement.",
"reportSentError": "Une erreur s'est produite lors du signalement de cette publication.",
"modAddCWConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir ajouter un avertissement de contenu \u00e0 cette publication ?",
"modCWSuccess": "Avertissement de contenu ajout\u00e9",
"modCWSuccess": "Avertissement de contenu ajout\u00e9 avec succ\u00e8s",
"modRemoveCWConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir supprimer l'avertissement de contenu sur cette publication ?",
"modRemoveCWSuccess": "Avertissement de contenu supprim\u00e9",
"modUnlistConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir retirer cette publication des fils?",
"modUnlistSuccess": "Publication retir\u00e9e des fils",
"modMarkAsSpammerConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir marquer ce compte comme pourrielleur? Toutes ses publications existantes et futures seront retir\u00e9es des fils et un avertissement sera appliqu\u00e9.",
"modMarkAsSpammerSuccess": "Compte marqu\u00e9 comme pourrielleur",
"modRemoveCWSuccess": "Avertissement de contenu supprim\u00e9 avec succ\u00e8s",
"modUnlistConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir retirer cette publication des flux ?",
"modUnlistSuccess": "Publication retir\u00e9e des fils avec succ\u00e8s",
"modMarkAsSpammerConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir marquer cet utilisateur\u00b7rice comme spammeur\u00b7euse ? Toutes les publications existantes et futures seront retir\u00e9es des flux et un avertissement de contenu sera appliqu\u00e9.",
"modMarkAsSpammerSuccess": "Compte marqu\u00e9 avec succ\u00e8s comme spammeur",
"toFollowers": "aux abonn\u00e9\u00b7e\u00b7s",
"showCaption": "Afficher la l\u00e9gende",
"showLikes": "Afficher les mentions J'aime",
"compactMode": "Affichage compact",
"showLikes": "Afficher les J'aime",
"compactMode": "Mode compact",
"embedConfirmText": "En utilisant ce module, vous acceptez nos",
"deletePostConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir supprimer cette publication ?",
"archivePostConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir archiver cette publication ?",
"unarchivePostConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir d\u00e9sarchiver cette publication ?"
},
"story": {
"add": "Ajouter une Story"
"add": "Ajouter une story"
},
"timeline": {
"peopleYouMayKnow": "Connaissances potentielles",
"onboarding": {
"welcome": "Bienvenue",
"thisIsYourHomeFeed": "Voici votre fil personnel, qui offre les publications de comptes suivis, en ordre chronologique.",
"letUsHelpYouFind": "Laissez-nous vous pr\u00e9senter des gens qui vont vous int\u00e9resser",
"refreshFeed": "Mise \u00e0 jour de mon fil"
}
"peopleYouMayKnow": "Connaissances possibles"
},
"hashtags": {
"emptyFeed": "Aucune publication associ\u00e9e \u00e0 ce mot-clic!"
},
"report": {
"report": "Signaler",
"selectReason": "Signaler en tant que",
"reported": "Signal\u00e9",
"sendingReport": "Envoi du signalement",
"thanksMsg": "Merci de votre signalement; vous contribuez \u00e0 la s\u00e9curit\u00e9 de notre communaut\u00e9!",
"contactAdminMsg": "Si vous d\u00e9sirez discuter de ce signalement avec un\u00b7e admnistrateur\u00b7trice"
},
"sidebar": {
"followingCount": "Abonnement|Abonnements",
"followersCount": "Abonn\u00e9\u00b7e|Abonn\u00e9\u00b7e\u00b7s"
"emptyFeed": "Aucune publication ne semble exister pour ce hashtag"
}
}

View file

@ -0,0 +1,265 @@
{
"common": {
"comment": "Commenter",
"commented": "Comment\u00e9",
"comments": "Commentaires",
"like": "J'aime",
"liked": "Aim\u00e9",
"likes": "J'aime",
"share": "Partager",
"shared": "Partag\u00e9",
"shares": "Partages",
"unshare": "Ne plus partager",
"bookmark": "Signet",
"cancel": "Annuler",
"copyLink": "Copier le lien",
"delete": "Supprimer",
"error": "Erreur",
"errorMsg": "Une erreur s'est produite; veuillez r\u00e9essayer plus tard.",
"oops": "Zut!",
"other": "Autre",
"readMore": "En savoir plus",
"success": "Op\u00e9ration r\u00e9ussie",
"proceed": "Continuer",
"next": "Suivant",
"close": "Fermer",
"clickHere": "cliquez ici",
"sensitive": "Sensible",
"sensitiveContent": "Contenu sensible",
"sensitiveContentWarning": "Le contenu de ce message peut \u00eatre sensible"
},
"login": {
"header": "Connexion"
},
"site": {
"terms": "Conditions d'utilisation",
"privacy": "Politique de confidentialit\u00e9"
},
"navmenu": {
"search": "Rechercher",
"admin": "Administration",
"homeFeed": "Fil personnel",
"localFeed": "Fil local",
"globalFeed": "Fil universel",
"discover": "D\u00e9couverte",
"directMessages": "Messages priv\u00e9s",
"notifications": "Notifications",
"groups": "Groupes",
"stories": "Stories",
"uiSettings": "Param\u00e8tres visuels",
"profile": "Mon profil",
"drive": "M\u00e9diath\u00e8que",
"settings": "Param\u00e8tres",
"login": "Connexion",
"logout": "D\u00e9connexion",
"register": "Inscription",
"compose": "R\u00e9diger une publication",
"about": "\u00c0 propos",
"help": "Aide",
"language": "Langue",
"privacy": "Confidentialit\u00e9",
"terms": "Conditions",
"poweredByPixelfed": "Propuls\u00e9 par Pixelfed",
"backToPreviousDesign": "Basculer vers l'ancienne interface"
},
"landing": {
"auth": {
"login": "Connexion",
"signup": "Inscription"
},
"navmenu": {
"about": "\u00c0 propos",
"directory": "Bottin",
"explore": "D\u00e9couverte"
},
"about": {
"header": "Le partage de photos dans un m\u00e9dia social d\u00e9centralis\u00e9, propuls\u00e9 par {pixelfedLink}",
"stats": {
"posts": "publications",
"activeUsers": "membre actif|membres actifs",
"totalUsers": "membre au total|membres au total"
},
"details": {
"about": "\u00c0 propos de ce site",
"serverRules": "R\u00e8glements",
"supportedFeatures": "Fonctionnalit\u00e9s offertes"
},
"features": {
"photoPosts": "Publication de photos",
"photoAlbums": "Albums photos",
"photoFilters": "Filtres de traitement photo",
"collections": "Collections",
"comments": "Commentaires",
"hashtags": "Mots-cl\u00e9s",
"likes": "Mentions J'aime",
"notifications": "Notifications",
"shares": "Partages",
"federation": "F\u00e9d\u00e9ration",
"mobileAppSupport": "Application mobile",
"stories": "Story",
"videos": "Contenu vid\u00e9o"
}
},
"discover": {
"tagline": "\u00c0 la d\u00e9couverte de gens et d'histoires",
"empty": "Rien de neuf, mais revenez jeter un coup d'oeil plus tard!"
},
"explore": {
"tagline": "Des publications qui font du bruit"
},
"notfound": {
"header": "C'est vide!",
"description": "D\u00e9sol\u00e9, pas de contenu \u00e0 cette addresse.",
"goback": "Retour \u00e0 l'accueil"
},
"footer": {
"help": "Aide",
"terms": "Conditions",
"privacy": "Confidentialit\u00e9",
"mobileApps": "Applications mobiles",
"poweredByPixelfed": "Propuls\u00e9 par Pixelfed"
}
},
"uiSettings": {
"title": "Param\u00e8tres visuels",
"theme": "Jeu de couleurs",
"themeAutoMode": "Auto",
"themeDarkMode": "Sombre",
"themeLightMode": "Clair",
"profileLayout": "Mise en page du profil",
"layoutGrid": "Grille",
"layoutMasonry": "Masonry",
"layoutFeed": "Fil",
"compactMediaPreviews": "Affichage des aper\u00e7us en format compact",
"loadComments": "Chargement des commentaires",
"hideCountsStats": "Masquage des d\u00e9comptes et des statistiques"
},
"directMessages": {
"inbox": "Bo\u00eete de r\u00e9ception",
"sent": "Bo\u00eete d'envoi",
"requests": "Demandes"
},
"notifications": {
"liked": "a aim\u00e9 votre",
"commented": "a comment\u00e9 votre",
"reacted": "a r\u00e9agi \u00e0 votre",
"shared": "a partag\u00e9 votre",
"tagged": "vous a identifi\u00e9\u00b7e dans un\u00b7e",
"updatedA": "mis \u00e0 jour un\u00b7e",
"sentA": "a envoy\u00e9 un\u00b7e",
"followed": "s'est abonn\u00e9\u00b7e \u00e0",
"mentioned": "a mentionn\u00e9",
"you": "vous",
"yourApplication": "Votre candidature",
"applicationApproved": "a \u00e9t\u00e9 approuv\u00e9e!",
"applicationRejected": "a \u00e9t\u00e9 rejet\u00e9e. Vous pourrez tenter \u00e0 nouveau dans 6 mois.",
"dm": "mp",
"groupPost": "publication de groupe",
"modlog": "journal de mod\u00e9ration",
"post": "publication",
"story": "story",
"noneFound": "Aucune notification"
},
"post": {
"shareToFollowers": "Partager avec ses abonn\u00e9\u00b7e\u00b7s",
"shareToOther": "Partager avec d'autres",
"noLikes": "Aucune mention J'aime pour le moment",
"uploading": "Envoi en cours"
},
"profile": {
"actions": {
"requestFollow": "S'abonner",
"unfollow": "Se d\u00e9sabonner",
"editProfile": "Modifier mon profil"
},
"relationship": {
"followerCount": "Abonn\u00e9\u00b7e | Abonn\u00e9\u00b7e\u00b7s",
"followingCount": "Abonnement | Abonnements",
"following": "Abonn\u00e9",
"followRequested": "Abonnement demand\u00e9",
"followsYou": "Follows You"
},
"posts": "Publications",
"admin": "Administrateur\u00b7rice",
"collections": "Collections",
"joined": "Depuis",
"emptyCollections": "Pas de collections!",
"emptyPosts": "Pas de publications!"
},
"menu": {
"viewPost": "Voir la publication",
"viewProfile": "Voir le profil",
"moderationTools": "Outils de mod\u00e9ration",
"report": "Signaler",
"archive": "Archiver",
"unarchive": "D\u00e9sarchiver",
"embed": "Int\u00e9grer",
"selectOneOption": "Choisir parmi les options suivantes",
"unlistFromTimelines": "Retirer des fils",
"addCW": "Ajouter un avertissement",
"removeCW": "Enlever l\u2019avertissement",
"markAsSpammer": "D\u00e9clarer en tant que pourrielleur\u00b7euse",
"markAsSpammerText": "D\u00e9claration de source de pourriels",
"spam": "Pourriel",
"sensitive": "Contenu sensible",
"abusive": "Abusif ou pr\u00e9judiciable",
"underageAccount": "Compte d'un\u00b7e mineur\u00b7e",
"copyrightInfringement": "Violation des droits d\u2019auteur",
"impersonation": "Usurpation d'identit\u00e9",
"scamOrFraud": "Arnaque ou fraude",
"confirmReport": "Confirmer le signalement",
"confirmReportText": "\u00cates-vous s\u00fbr\u00b7e de vouloir signaler cette publication?",
"reportSent": "Signalement envoy\u00e9!",
"reportSentText": "Nous avons bien re\u00e7u votre signalement.",
"reportSentError": "Une erreur s'est produite lors du signalement de cette publication.",
"modAddCWConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir ajouter un avertissement de contenu \u00e0 cette publication?",
"modCWSuccess": "Avertissement de contenu ajout\u00e9",
"modRemoveCWConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir supprimer l'avertissement de contenu sur cette publication?",
"modRemoveCWSuccess": "Avertissement de contenu supprim\u00e9",
"modUnlistConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir retirer cette publication des fils?",
"modUnlistSuccess": "Publication retir\u00e9e des fils",
"modMarkAsSpammerConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir marquer ce compte comme pourrielleur? Toutes ses publications existantes et futures seront retir\u00e9es des fils et un avertissement sera appliqu\u00e9.",
"modMarkAsSpammerSuccess": "Compte marqu\u00e9 comme pourrielleur",
"toFollowers": "aux abonn\u00e9\u00b7e\u00b7s",
"showCaption": "Afficher la l\u00e9gende",
"showLikes": "Afficher les mentions J'aime",
"compactMode": "Affichage compact",
"embedConfirmText": "En utilisant ce module, vous acceptez nos",
"deletePostConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir supprimer cette publication?",
"archivePostConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir archiver cette publication?",
"unarchivePostConfirm": "\u00cates-vous s\u00fbr\u00b7e de vouloir d\u00e9sarchiver cette publication?"
},
"story": {
"add": "Ajouter une Story"
},
"timeline": {
"peopleYouMayKnow": "Connaissances potentielles",
"onboarding": {
"welcome": "Bienvenue",
"thisIsYourHomeFeed": "Voici votre fil personnel, qui offre les publications de comptes suivis, en ordre chronologique.",
"letUsHelpYouFind": "Laissez-nous vous pr\u00e9senter des gens qui vont vous int\u00e9resser",
"refreshFeed": "Mise \u00e0 jour de mon fil"
}
},
"hashtags": {
"emptyFeed": "Aucune publication associ\u00e9e \u00e0 ce mot-clic!"
},
"report": {
"report": "Signaler",
"selectReason": "Signaler en tant que",
"reported": "Signal\u00e9",
"sendingReport": "Envoi du signalement",
"thanksMsg": "Merci de votre signalement; vous contribuez \u00e0 la s\u00e9curit\u00e9 de notre communaut\u00e9!",
"contactAdminMsg": "Si vous d\u00e9sirez discuter de ce signalement avec un\u00b7e admnistrateur\u00b7trice"
},
"sidebar": {
"followingCount": "Abonnement|Abonnements",
"followersCount": "Abonn\u00e9\u00b7e|Abonn\u00e9\u00b7e\u00b7s",
"compose": "R\u00e9diger",
"createdrop": {
"collection": "Cr\u00e9er une collection",
"story": "R\u00e9diger une Story",
"accountSettings": "Param\u00e8tres du compte"
}
}
}

View file

@ -261,6 +261,7 @@ let i18nMessages = {
es: require('./i18n/es.json'),
eu: require('./i18n/eu.json'),
fr: require('./i18n/fr.json'),
'fr_CA': require('./i18n/fr_CA.json'),
he: require('./i18n/he.json'),
gd: require('./i18n/gd.json'),
gl: require('./i18n/gl.json'),

View file

@ -496,6 +496,7 @@ let i18nMessages = {
es: require('./i18n/es.json'),
eu: require('./i18n/eu.json'),
fr: require('./i18n/fr.json'),
'fr_CA': require('./i18n/fr_CA.json'),
he: require('./i18n/he.json'),
gd: require('./i18n/gd.json'),
gl: require('./i18n/gl.json'),

View file

@ -64,7 +64,7 @@ return [
'profile' => 'Profile',
'drive' => 'Drive',
'settings' => 'Settings',
'composePost' => 'Create New Post',
'compose' => 'Create New Post',
'login' => 'Login',
'register' => 'Register',
'logout' => 'Logout',
@ -91,6 +91,9 @@ return [
'directory' => 'Directory',
'explore' => 'Explore',
],
'serverbanner' => [
'alt' => 'Server banner images',
],
'about' => [
'header' => 'Decentralized photo sharing social media powered by {pixelfedLink}',
'stats' => [
@ -195,21 +198,22 @@ return [
],
'profile' => [
'posts' => 'Posts',
'followers' => [
'caption' => 'Follower | Followers',
],
'following' => [
'caption' => 'Following',
],
'admin' => 'Admin',
'collections' => 'Collections',
'follow' => 'Follow',
'actions' => [
'requestFollow' => 'Follow',
'unfollow' => 'Unfollow',
'editProfile' => 'Edit Profile',
],
'relationship' => [
'followerCount' => 'Follower | Followers',
'followingCount' => 'Following',
'following' => 'Following',
'followRequested' => 'Follow Requested',
'followsYou' => 'Follows You'
],
'posts' => 'Posts',
'admin' => 'Admin',
'collections' => 'Collections',
'joined' => 'Joined',
'emptyCollections' => 'We can\'t seem to find any collections',
'emptyPosts' => 'We can\'t seem to find any posts',
],
@ -293,6 +297,13 @@ return [
'sidebar' => [
'followingCount' => 'Following',
'followersCount' => 'Followers'
]
'followersCount' => 'Followers',
'compose' => 'Compose New Post',
'createdrop' => [
'collection' => 'Create Collection',
'story' => 'Create Story',
'accountSettings' => 'Account Settings',
],
],
];

View file

@ -13,60 +13,49 @@ return [
'shared' => 'Partagé',
'shares' => 'Partages',
'unshare' => 'Ne plus partager',
'bookmark' => 'Signet',
'cancel' => 'Annuler',
'copyLink' => 'Copier le lien',
'delete' => 'Supprimer',
'error' => 'Erreur',
'errorMsg' => 'Une erreur s\'est produite; veuillez réessayer plus tard.',
'errorMsg' => 'Une erreur est survenue. Veuillez réessayer plus tard.',
'oops' => 'Zut !',
'other' => 'Autre',
'readMore' => 'En savoir plus',
'success' => 'Opération réussie',
'proceed' => 'Continuer',
'next' => 'Suivant',
'close' => 'Fermer',
'clickHere' => 'cliquez ici',
'sensitive' => 'Sensible',
'sensitiveContent' => 'Contenu sensible',
'sensitiveContentWarning' => 'Le contenu de ce message peut être sensible',
],
'login' => [
'header' => 'Connexion'
],
'site' => [
'terms' => 'Conditions d\'utilisation',
'privacy' => 'Politique de confidentialité',
],
'navmenu' => [
'search' => 'Rechercher',
'admin' => 'Administration',
'search' => 'Chercher',
'admin' => 'Tableau de bord d\'administration',
// Timelines
'homeFeed' => 'Fil personnel',
'homeFeed' => 'Fil principal',
'localFeed' => 'Fil local',
'globalFeed' => 'Fil universel',
'globalFeed' => 'Fil global',
// Core features
'discover' => 'Découverte',
'directMessages' => 'Messages privés',
'discover' => 'Découvrir',
'directMessages' => 'Messages Privés',
'notifications' => 'Notifications',
'groups' => 'Groupes',
'stories' => 'Stories',
'uiSettings' => 'Paramètres visuels',
// Self links
'profile' => 'Mon profil',
'profile' => 'Profil',
'drive' => 'Médiathèque',
'settings' => 'Paramètres',
'composePost' => 'Rédiger',
'login' => 'Connexion',
'logout' => 'Déconnexion',
'register' => 'Inscription',
'compose' => 'Publier',
'logout' => 'Logout',
// Nav footer
'about' => 'À propos',
@ -74,89 +63,14 @@ return [
'language' => 'Langue',
'privacy' => 'Confidentialité',
'terms' => 'Conditions',
'poweredByPixelfed' => 'Propulsé par Pixelfed',
// Temporary links
'backToPreviousDesign' => 'Basculer vers l\'ancienne interface'
],
'landing' => [
'auth' => [
'login' => 'Connexion',
'signup' => 'Inscription',
],
'navmenu' => [
'about' => 'À propos',
'directory' => 'Bottin',
'explore' => 'Découverte',
],
'about' => [
'header' => 'Le partage de photos dans un média social décentralisé, propulsé par {pixelfedLink}',
'stats' => [
'posts' => 'publications',
'activeUsers' => 'membre actif|membres actifs',
'totalUsers' => 'membre au total|membres au total',
],
'details' => [
'about' => 'À propos de ce site',
'serverRules' => 'Règlements',
'supportedFeatures' => 'Fonctionnalités offertes'
],
'features' => [
'photoPosts' => 'Publication de photos',
'photoAlbums' => 'Albums photos',
'photoFilters' => 'Filtres de traitement photo',
'collections' => 'Collections',
'comments' => 'Commentaires',
'hashtags' => 'Mots-clés',
'likes' => 'Mentions J\'aime',
'notifications' => 'Notifications',
'shares' => 'Partages',
'federation' => 'Fédération',
'mobileAppSupport' => 'Application mobile',
'stories' => 'Story',
'videos' => 'Contenu vidéo',
],
],
'discover' => [
'tagline' => 'À la découverte de gens et d\'histoires',
'empty' => 'Rien de neuf, mais revenez jeter un coup d\'oeil plus tard!',
],
'explore' => [
'tagline' => 'Des publications qui font du bruit',
],
'notfound' => [
'header' => 'C\'est vide!',
'description' => 'Désolé, pas de contenu à cette addresse.',
'goback' => 'Retour à l\'accueil'
],
'footer' => [
'help' => 'Aide',
'terms' => 'Conditions',
'privacy' => 'Confidentialité',
'mobileApps' => 'Applications mobiles',
'poweredByPixelfed' => 'Propulsé par Pixelfed',
]
],
'uiSettings' => [
'title' => 'Paramètres visuels',
'theme' => 'Jeu de couleurs',
'themeAutoMode' => 'Auto',
'themeDarkMode' => 'Sombre',
'themeLightMode' => 'Clair',
'profileLayout' => 'Mise en page du profil',
'layoutGrid' => 'Grille',
'layoutMasonry' => 'Masonry',
'layoutFeed' => 'Fil',
'compactMediaPreviews' => 'Affichage des aperçus en format compact',
'loadComments' => 'Chargement des commentaires',
'hideCountsStats' => 'Masquage des décomptes et des statistiques'
'backToPreviousDesign' => 'Revenir au design précédent'
],
'directMessages' => [
'inbox' => 'Boîte de réception',
'sent' => 'Boîte d\'envoi',
'sent' => 'Boîte d\'envois',
'requests' => 'Demandes'
],
@ -165,7 +79,7 @@ return [
'commented' => 'a commenté votre',
'reacted' => 'a réagi à votre',
'shared' => 'a partagé votre',
'tagged' => 'vous a identifié·e dans un·e',
'tagged' => 'vous a tagué·e dans un',
'updatedA' => 'mis à jour un·e',
'sentA' => 'a envoyé un·e',
@ -174,43 +88,38 @@ return [
'mentioned' => 'a mentionné',
'you' => 'vous',
'yourApplication' => 'Votre candidature',
'yourApplication' => 'Votre candidature à rejoindre',
'applicationApproved' => 'a été approuvée !',
'applicationRejected' => 'a été rejetée. Vous pourrez tenter à nouveau dans 6 mois.',
'applicationRejected' => 'a été rejetée. Vous pouvez refaire une demande dans 6 mois.',
'dm' => 'mp',
'groupPost' => 'publication de groupe',
'modlog' => 'journal de modération',
'post' => 'publication',
'story' => 'story',
'noneFound' => 'Aucune notification'
],
'post' => [
'shareToFollowers' => 'Partager avec ses abonné·e·s',
'shareToOther' => 'Partager avec d\'autres',
'noLikes' => 'Aucune mention J\'aime pour le moment',
'noLikes' => 'Aucun J\'aime pour le moment',
'uploading' => 'Envoi en cours',
],
'profile' => [
'posts' => 'Publications',
'followers' => [
'caption' => 'Abonné·e | Abonné·e·s',
],
'following' => [
'caption' => 'Abonnement | Abonnements',
],
'followers' => 'Abonné·e·s',
'following' => 'Abonnements',
'admin' => 'Administrateur·rice',
'collections' => 'Collections',
'follow' => 'S\'abonner',
'unfollow' => 'Se désabonner',
'editProfile' => 'Modifier mon profil',
'editProfile' => 'Modifier votre profil',
'followRequested' => 'Demande d\'abonnement',
'joined' => 'Depuis',
'joined' => 'A rejoint',
'emptyCollections' => 'Pas de collections!',
'emptyPosts' => 'Pas de publications!',
'emptyCollections' => 'Aucune collection ne semble exister',
'emptyPosts' => 'Aucune publication ne semble exister',
],
'menu' => [
@ -222,13 +131,13 @@ return [
'unarchive' => 'Désarchiver',
'embed' => 'Intégrer',
'selectOneOption' => 'Choisir parmi les options suivantes',
'unlistFromTimelines' => 'Retirer des fils',
'addCW' => 'Ajouter un avertissement',
'removeCW' => 'Enlever lavertissement',
'markAsSpammer' => 'Déclarer en tant que pourrielleur·euse',
'markAsSpammerText' => 'Déclaration de source de pourriels',
'spam' => 'Pourriel',
'selectOneOption' => 'Sélectionnez l\'une des options suivantes',
'unlistFromTimelines' => 'Retirer des flux',
'addCW' => 'Ajouter un avertissement de contenu',
'removeCW' => 'Enlever lavertissement de contenu',
'markAsSpammer' => 'Marquer comme spammeur·euse',
'markAsSpammerText' => 'Retirer + avertissements pour les contenus existants et futurs',
'spam' => 'Indésirable',
'sensitive' => 'Contenu sensible',
'abusive' => 'Abusif ou préjudiciable',
'underageAccount' => 'Compte d\'un·e mineur·e',
@ -242,19 +151,19 @@ return [
'reportSentError' => 'Une erreur s\'est produite lors du signalement de cette publication.',
'modAddCWConfirm' => 'Êtes-vous sûr·e de vouloir ajouter un avertissement de contenu à cette publication ?',
'modCWSuccess' => 'Avertissement de contenu ajouté',
'modCWSuccess' => 'Avertissement de contenu ajouté avec succès',
'modRemoveCWConfirm' => 'Êtes-vous sûr·e de vouloir supprimer l\'avertissement de contenu sur cette publication ?',
'modRemoveCWSuccess' => 'Avertissement de contenu supprimé',
'modUnlistConfirm' => 'Êtes-vous sûr·e de vouloir retirer cette publication des fils?',
'modUnlistSuccess' => 'Publication retirée des fils',
'modMarkAsSpammerConfirm' => 'Êtes-vous sûr·e de vouloir marquer ce compte comme pourrielleur? Toutes ses publications existantes et futures seront retirées des fils et un avertissement sera appliqué.',
'modMarkAsSpammerSuccess' => 'Compte marqué comme pourrielleur',
'modRemoveCWSuccess' => 'Avertissement de contenu supprimé avec succès',
'modUnlistConfirm' => 'Êtes-vous sûr·e de vouloir retirer cette publication des flux ?',
'modUnlistSuccess' => 'Publication retirée des fils avec succès',
'modMarkAsSpammerConfirm' => 'Êtes-vous sûr·e de vouloir marquer cet utilisateur·rice comme spammeur·euse ? Toutes les publications existantes et futures seront retirées des flux et un avertissement de contenu sera appliqué.',
'modMarkAsSpammerSuccess' => 'Compte marqué avec succès comme spammeur',
'toFollowers' => 'aux abonné·e·s',
'showCaption' => 'Afficher la légende',
'showLikes' => 'Afficher les mentions J\'aime',
'compactMode' => 'Affichage compact',
'showLikes' => 'Afficher les J\'aime',
'compactMode' => 'Mode compact',
'embedConfirmText' => 'En utilisant ce module, vous acceptez nos',
'deletePostConfirm' => 'Êtes-vous sûr·e de vouloir supprimer cette publication ?',
@ -263,34 +172,15 @@ return [
],
'story' => [
'add' => 'Ajouter une Story'
'add' => 'Ajouter une story'
],
'timeline' => [
'peopleYouMayKnow' => 'Connaissances potentielles',
'onboarding' => [
'welcome' => 'Bienvenue',
'thisIsYourHomeFeed' => 'Voici votre fil personnel, qui offre les publications de comptes suivis, en ordre chronologique.',
'letUsHelpYouFind' => 'Laissez-nous vous présenter des gens qui vont vous intéresser',
'refreshFeed' => 'Mise à jour de mon fil',
],
'peopleYouMayKnow' => 'Connaissances possibles'
],
'hashtags' => [
'emptyFeed' => 'Aucune publication associée à ce mot-clic!'
'emptyFeed' => 'Aucune publication ne semble exister pour ce hashtag'
],
'report' => [
'report' => 'Signaler',
'selectReason' => 'Signaler en tant que',
'reported' => 'Signalé',
'sendingReport' => 'Envoi du signalement',
'thanksMsg' => 'Merci de votre signalement; vous contribuez à la sécurité de notre communauté!',
'contactAdminMsg' => 'Si vous désirez discuter de ce signalement avec un·e admnistrateur·trice',
],
'sidebar' => [
'followingCount' => 'Abonnement|Abonnements',
'followersCount' => 'Abonné·e|Abonné·e·s',
]
];

View file

@ -0,0 +1,17 @@
<?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' => 'Ces informations d\'identification ne correspondent à aucune se trouvant dans notre base de données.',
'throttle' => 'Trop de tentatives de connexion ont été effectuées. Veuillez réessayer dans :seconds secondes.',
];

View file

@ -0,0 +1,10 @@
<?php
return [
'compose' => [
'invalid' => [
'album' => 'Doit contenir une seule photo ou vidéo ou plusieurs photos.',
],
],
];

View file

@ -0,0 +1,26 @@
<?php
return [
'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',
'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',
'taggingPeople' => 'Mentionner des personnes'
];

View file

@ -0,0 +1,18 @@
<?php
return [
'search' => 'Rechercher',
'home' => 'Accueil',
'local' => 'Local',
'network' => 'Réseau',
'discover' => 'Découvrir',
'viewMyProfile' => 'Voir mon profil',
'myTimeline' => 'Ma Chronologie',
'publicTimeline' => 'Chronologie Publique',
'remoteFollow' => 'Suivre à distance',
'settings' => 'Paramètres',
'admin' => 'Admin',
'logout' => 'Se déconnecter',
'directMessages' => 'Messages Directs',
'composePost' => 'Composer une publication',
];

View file

@ -0,0 +1,10 @@
<?php
return [
'likedPhoto' => 'a aimé votre publication.',
'likedComment' => 'a aimé votre commentaire.',
'startedFollowingYou' => 'a commencé à vous suivre.',
'commented' => 'a commenté votre publication.',
'mentionedYou' => 'vous a mentionné.',
'shared' => 'a partagé votre publication.',
];

View file

@ -0,0 +1,17 @@
<?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' => '« Précédente',
'next' => 'Suivante »',
];

View file

@ -0,0 +1,20 @@
<?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' => 'Les mots de passe doivent compter au moins six caractères et correspondre à la confirmation.',
'reset' => 'Votre mot de passe a été réinitialisé !',
'sent' => 'Si votre adresse e-mail existe dans notre base de données, vous recevrez un lien de récupération de mot de passe dans votre adresse e-mail dans quelques minutes. Si vous ne l\'avez pas reçu, veuillez vérifier dans le dossier spam.',
'token' => 'Ce jeton de réinitialisation de mot de passe est invalide.',
'user' => 'Si votre adresse e-mail existe dans notre base de données, vous recevrez un lien de récupération de mot de passe dans votre adresse e-mail dans quelques minutes. Si vous ne l\'avez pas reçu, veuillez vérifier dans le dossier spam.',
];

View file

@ -0,0 +1,15 @@
<?php
return [
'emptyTimeline' => 'Cet·te utilisateur·rice n\'a pas encore de publications !',
'emptyFollowers' => 'Cet·te utilisateur·rice n`\'a pas encore d\'abonné·e·s !',
'emptyFollowing' => 'Cet·te utilisateur·rice ne suit personne pour le moment !',
'emptySaved' => 'Vous n\'avez sauvegardé aucune publication pour le moment !',
'savedWarning' => 'Vous seul pouvez voir ce que vous avez enregistré',
'privateProfileWarning' => 'Ce compte est privé',
'alreadyFollow' => 'N\'êtes vous pas déjà abonné·e à :username ?',
'loginToSeeProfile' => 'pour pouvoir consulter leurs photos et vidéos.',
'status.disabled.header' => 'Profil indisponible',
'status.disabled.body' => 'Désolé, ce profil nest pas disponible pour le moment. Veuillez réessayer plus tard.',
];

View file

@ -0,0 +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',
];

View file

@ -0,0 +1,5 @@
<?php
return [
'emptyPersonalTimeline' => 'Votre chronologie est vide.',
];

View file

@ -0,0 +1,116 @@
<?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' => ':attribute doit être accepté.',
'active_url' => ':attribute n\'est pas un lien valide.',
'after' => ':attribute doit être une date ultérieure à :date.',
'after_or_equal' => ':attribute doit être une date ultérieure ou égale à :date.',
'alpha' => ':attribute peut contenir uniquement des lettres.',
'alpha_dash' => ':attribute peut contenir uniquement des lettres, des chiffres et des tirets.',
'alpha_num' => ':attribute peut contenir uniquement des lettres et des chiffres.',
'array' => ':attribute doit être un tableau.',
'before' => ':attribute doit être une date antérieure à :date.',
'before_or_equal' => ':attribute doit être une date antérieure ou égale à :date.',
'between' => [
'numeric' => ':attribute doit être compris entre :min et :max.',
'file' => ':attribute doit être compris entre :min et :max Ko.',
'string' => ':attribute doit être compris entre :min et :max caractères.',
'array' => ':attribute doit avoir entre :min et :max articles.',
],
'boolean' => ':attribute le champ doit être vrai ou faux.',
'confirmed' => ':attribute la confirmation ne correspond pas.',
'date' => ':attribute n\'est pas une date valide.',
'date_format' => ':attribute ne correspond pas au format :format.',
'different' => ':attribute et :other doivent être différents.',
'digits' => ':attribute doit compter :digits chiffres.',
'digits_between' => ':attribute doit être compris entre :min et :max chiffres.',
'dimensions' => ':attribute a des dimensions d\'image non valides.',
'distinct' => ':attribute le champ a une valeur dupliquée.',
'email' => ':attribute doit être une adresse e-mail valide.',
'exists' => ':attribute sélectionné n\'est pas valide.',
'file' => ':attribute doit être un fichier.',
'filled' => ':attribute le champ doit avoir une valeur.',
'image' => ':attribute doit être une image.',
'in' => ':attribute sélectionné n\'est pas valide.',
'in_array' => ':attribute le champ n\'existe pas dans :other.',
'integer' => ':attribute doit être un entier.',
'ip' => ':attribute doit être une adresse IP valide.',
'ipv4' => ':attribute doit être une adresse IPv4 valide.',
'ipv6' => ':attribute doit être une adresse IPv6 valide.',
'json' => ':attribute doit être une chaîne JSON valide.',
'max' => [
'numeric' => ':attribute ne peut pas être supérieur à :max.',
'file' => ':attribute ne peut pas être supérieur :max Ko.',
'string' => ':attribute ne peut pas compter plus de :max caractères.',
'array' => ':attribute ne peut pas compter plus de :max articles.',
],
'mimes' => ':attribute doit être un fichier de type : :values.',
'mimetypes' => ':attribute doit être un fichier de type : :values.',
'min' => [
'numeric' => ':attribute doit être au moins :min.',
'file' => ':attribute doit avoir une taille d\'au moins :min Ko.',
'string' => ':attribute doit compter au moins :min caractères.',
'array' => ':attribute doit compter au moins :min articles.',
],
'not_in' => ':attribute sélectionné n\'est pas valide.',
'not_regex' => ':attribute le format n\'est pas valide.',
'numeric' => ':attribute doit être un nombre.',
'present' => ':attribute le champ doit être présent.',
'regex' => ':attribute le format n\'est pas valide.',
'required' => ':attribute champ requis.',
'required_if' => ':attribute champ requis lorsque :other est :value.',
'required_unless' => ':attribute champ obligatoire à moins que :other est en :values.',
'required_with' => ':attribute champ requis lorsque :values est présent.',
'required_with_all' => ':attribute champ requis lorsque :values est présent.',
'required_without' => ':attribute champ requis lorsque :values est absente.',
'required_without_all' => ':attribute champ requis lorsqu\'aucun des :values sont présents.',
'same' => ':attribute et :other doivent correspondre.',
'size' => [
'numeric' => ':attribute doit être :size.',
'file' => ':attribute doit être :size Ko.',
'string' => ':attribute doit compter :size caractères.',
'array' => ':attribute doit compter :size articles.',
],
'string' => ':attribute doit être une chaîne.',
'timezone' => ':attribute doit être une zone valide.',
'unique' => ':attribute a déjà été prise.',
'uploaded' => ':attribute Impossible de télécharger.',
'url' => ':attribute le format n\'est pas valide.',
/*
|--------------------------------------------------------------------------
| 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' => [],
];

View file

@ -0,0 +1,304 @@
<?php
return [
'common' => [
'comment' => 'Commenter',
'commented' => 'Commenté',
'comments' => 'Commentaires',
'like' => 'J\'aime',
'liked' => 'Aimé',
'likes' => 'J\'aime',
'share' => 'Partager',
'shared' => 'Partagé',
'shares' => 'Partages',
'unshare' => 'Ne plus partager',
'bookmark' => 'Signet',
'cancel' => 'Annuler',
'copyLink' => 'Copier le lien',
'delete' => 'Supprimer',
'error' => 'Erreur',
'errorMsg' => 'Une erreur s\'est produite; veuillez réessayer plus tard.',
'oops' => 'Zut!',
'other' => 'Autre',
'readMore' => 'En savoir plus',
'success' => 'Opération réussie',
'proceed' => 'Continuer',
'next' => 'Suivant',
'close' => 'Fermer',
'clickHere' => 'cliquez ici',
'sensitive' => 'Sensible',
'sensitiveContent' => 'Contenu sensible',
'sensitiveContentWarning' => 'Le contenu de ce message peut être sensible',
],
'login' => [
'header' => 'Connexion'
],
'site' => [
'terms' => 'Conditions d\'utilisation',
'privacy' => 'Politique de confidentialité',
],
'navmenu' => [
'search' => 'Rechercher',
'admin' => 'Administration',
// Timelines
'homeFeed' => 'Fil personnel',
'localFeed' => 'Fil local',
'globalFeed' => 'Fil universel',
// Core features
'discover' => 'Découverte',
'directMessages' => 'Messages privés',
'notifications' => 'Notifications',
'groups' => 'Groupes',
'stories' => 'Stories',
'uiSettings' => 'Paramètres visuels',
// Self links
'profile' => 'Mon profil',
'drive' => 'Médiathèque',
'settings' => 'Paramètres',
'login' => 'Connexion',
'logout' => 'Déconnexion',
'register' => 'Inscription',
'compose' => 'Rédiger une publication',
// Nav footer
'about' => 'À propos',
'help' => 'Aide',
'language' => 'Langue',
'privacy' => 'Confidentialité',
'terms' => 'Conditions',
'poweredByPixelfed' => 'Propulsé par Pixelfed',
// Temporary links
'backToPreviousDesign' => 'Basculer vers l\'ancienne interface'
],
'landing' => [
'auth' => [
'login' => 'Connexion',
'signup' => 'Inscription',
],
'navmenu' => [
'about' => 'À propos',
'directory' => 'Bottin',
'explore' => 'Découverte',
],
'about' => [
'header' => 'Le partage de photos dans un média social décentralisé, propulsé par {pixelfedLink}',
'stats' => [
'posts' => 'publications',
'activeUsers' => 'membre actif|membres actifs',
'totalUsers' => 'membre au total|membres au total',
],
'details' => [
'about' => 'À propos de ce site',
'serverRules' => 'Règlements',
'supportedFeatures' => 'Fonctionnalités offertes'
],
'features' => [
'photoPosts' => 'Publication de photos',
'photoAlbums' => 'Albums photos',
'photoFilters' => 'Filtres de traitement photo',
'collections' => 'Collections',
'comments' => 'Commentaires',
'hashtags' => 'Mots-clés',
'likes' => 'Mentions J\'aime',
'notifications' => 'Notifications',
'shares' => 'Partages',
'federation' => 'Fédération',
'mobileAppSupport' => 'Application mobile',
'stories' => 'Story',
'videos' => 'Contenu vidéo',
],
],
'discover' => [
'tagline' => 'À la découverte de gens et d\'histoires',
'empty' => 'Rien de neuf, mais revenez jeter un coup d\'oeil plus tard!',
],
'explore' => [
'tagline' => 'Des publications qui font du bruit',
],
'notfound' => [
'header' => 'C\'est vide!',
'description' => 'Désolé, pas de contenu à cette addresse.',
'goback' => 'Retour à l\'accueil'
],
'footer' => [
'help' => 'Aide',
'terms' => 'Conditions',
'privacy' => 'Confidentialité',
'mobileApps' => 'Applications mobiles',
'poweredByPixelfed' => 'Propulsé par Pixelfed',
]
],
'uiSettings' => [
'title' => 'Paramètres visuels',
'theme' => 'Jeu de couleurs',
'themeAutoMode' => 'Auto',
'themeDarkMode' => 'Sombre',
'themeLightMode' => 'Clair',
'profileLayout' => 'Mise en page du profil',
'layoutGrid' => 'Grille',
'layoutMasonry' => 'Masonry',
'layoutFeed' => 'Fil',
'compactMediaPreviews' => 'Affichage des aperçus en format compact',
'loadComments' => 'Chargement des commentaires',
'hideCountsStats' => 'Masquage des décomptes et des statistiques'
],
'directMessages' => [
'inbox' => 'Boîte de réception',
'sent' => 'Boîte d\'envoi',
'requests' => 'Demandes'
],
'notifications' => [
'liked' => 'a aimé votre',
'commented' => 'a commenté votre',
'reacted' => 'a réagi à votre',
'shared' => 'a partagé votre',
'tagged' => 'vous a identifié·e dans un·e',
'updatedA' => 'mis à jour un·e',
'sentA' => 'a envoyé un·e',
'followed' => 's\'est abonné·e à',
'mentioned' => 'a mentionné',
'you' => 'vous',
'yourApplication' => 'Votre candidature',
'applicationApproved' => 'a été approuvée!',
'applicationRejected' => 'a été rejetée. Vous pourrez tenter à nouveau dans 6 mois.',
'dm' => 'mp',
'groupPost' => 'publication de groupe',
'modlog' => 'journal de modération',
'post' => 'publication',
'story' => 'story',
'noneFound' => 'Aucune notification'
],
'post' => [
'shareToFollowers' => 'Partager avec ses abonné·e·s',
'shareToOther' => 'Partager avec d\'autres',
'noLikes' => 'Aucune mention J\'aime pour le moment',
'uploading' => 'Envoi en cours',
],
'profile' => [
'actions' => [
'requestFollow' => 'S\'abonner',
'unfollow' => 'Se désabonner',
'editProfile' => 'Modifier mon profil',
],
'relationship' => [
'followersCount' => 'Abonné·e | Abonné·e·s',
'followingCount' => 'Abonnement | Abonnements',
'following' => 'Abonné',
'followRequested' => 'Abonnement demandé',
'followsYou' => 'Follows You'
],
'posts' => 'Publications',
'admin' => 'Administrateur·rice',
'collections' => 'Collections',
'joined' => 'Depuis',
'emptyCollections' => 'Pas de collections!',
'emptyPosts' => 'Pas de publications!',
],
'menu' => [
'viewPost' => 'Voir la publication',
'viewProfile' => 'Voir le profil',
'moderationTools' => 'Outils de modération',
'report' => 'Signaler',
'archive' => 'Archiver',
'unarchive' => 'Désarchiver',
'embed' => 'Intégrer',
'selectOneOption' => 'Choisir parmi les options suivantes',
'unlistFromTimelines' => 'Retirer des fils',
'addCW' => 'Ajouter un avertissement',
'removeCW' => 'Enlever lavertissement',
'markAsSpammer' => 'Déclarer en tant que pourrielleur·euse',
'markAsSpammerText' => 'Déclaration de source de pourriels',
'spam' => 'Pourriel',
'sensitive' => 'Contenu sensible',
'abusive' => 'Abusif ou préjudiciable',
'underageAccount' => 'Compte d\'un·e mineur·e',
'copyrightInfringement' => 'Violation des droits dauteur',
'impersonation' => 'Usurpation d\'identité',
'scamOrFraud' => 'Arnaque ou fraude',
'confirmReport' => 'Confirmer le signalement',
'confirmReportText' => 'Êtes-vous sûr·e de vouloir signaler cette publication?',
'reportSent' => 'Signalement envoyé!',
'reportSentText' => 'Nous avons bien reçu votre signalement.',
'reportSentError' => 'Une erreur s\'est produite lors du signalement de cette publication.',
'modAddCWConfirm' => 'Êtes-vous sûr·e de vouloir ajouter un avertissement de contenu à cette publication?',
'modCWSuccess' => 'Avertissement de contenu ajouté',
'modRemoveCWConfirm' => 'Êtes-vous sûr·e de vouloir supprimer l\'avertissement de contenu sur cette publication?',
'modRemoveCWSuccess' => 'Avertissement de contenu supprimé',
'modUnlistConfirm' => 'Êtes-vous sûr·e de vouloir retirer cette publication des fils?',
'modUnlistSuccess' => 'Publication retirée des fils',
'modMarkAsSpammerConfirm' => 'Êtes-vous sûr·e de vouloir marquer ce compte comme pourrielleur? Toutes ses publications existantes et futures seront retirées des fils et un avertissement sera appliqué.',
'modMarkAsSpammerSuccess' => 'Compte marqué comme pourrielleur',
'toFollowers' => 'aux abonné·e·s',
'showCaption' => 'Afficher la légende',
'showLikes' => 'Afficher les mentions J\'aime',
'compactMode' => 'Affichage compact',
'embedConfirmText' => 'En utilisant ce module, vous acceptez nos',
'deletePostConfirm' => 'Êtes-vous sûr·e de vouloir supprimer cette publication?',
'archivePostConfirm' => 'Êtes-vous sûr·e de vouloir archiver cette publication?',
'unarchivePostConfirm' => 'Êtes-vous sûr·e de vouloir désarchiver cette publication?',
],
'story' => [
'add' => 'Ajouter une Story'
],
'timeline' => [
'peopleYouMayKnow' => 'Connaissances potentielles',
'onboarding' => [
'welcome' => 'Bienvenue',
'thisIsYourHomeFeed' => 'Voici votre fil personnel, qui offre les publications de comptes suivis, en ordre chronologique.',
'letUsHelpYouFind' => 'Laissez-nous vous présenter des gens qui vont vous intéresser',
'refreshFeed' => 'Mise à jour de mon fil',
],
],
'hashtags' => [
'emptyFeed' => 'Aucune publication associée à ce mot-clic!'
],
'report' => [
'report' => 'Signaler',
'selectReason' => 'Signaler en tant que',
'reported' => 'Signalé',
'sendingReport' => 'Envoi du signalement',
'thanksMsg' => 'Merci de votre signalement; vous contribuez à la sécurité de notre communauté!',
'contactAdminMsg' => 'Si vous désirez discuter de ce signalement avec un·e admnistrateur·trice',
],
'sidebar' => [
'followingCount' => 'Abonnement|Abonnements',
'followersCount' => 'Abonné·e|Abonné·e·s',
'compose' => 'Rédiger',
'createdrop' => [
'collection' => 'Créer une collection',
'story' => 'Rédiger une Story',
'accountSettings' => 'Paramètres du compte',
],
]
];

View file

@ -70,7 +70,7 @@
<div class="col-sm-9">
<select class="form-control" name="language">
@foreach(App\Util\Localization\Localization::languages() as $lang)
<option value="{{$lang}}" {{(Auth::user()->language ?? 'en') == $lang ? 'selected':''}}>{{locale_get_display_language($lang, 'en')}} - {{locale_get_display_language($lang, $lang)}}</option>
<option value="{{$lang}}" {{(Auth::user()->language ?? 'en') == $lang ? 'selected':''}}>{{locale_get_display_name($lang, 'en')}} - {{locale_get_display_name($lang, $lang)}}</option>
@endforeach
</select>
</div>