Merge remote-tracking branch 'origin/master' into gs-master
This commit is contained in:
@@ -122,7 +122,7 @@ export function unfollowAccount(id) {
|
||||
dispatch(unfollowAccountRequest(id));
|
||||
|
||||
api(getState).post(`/api/v1/accounts/${id}/unfollow`).then(response => {
|
||||
dispatch(unfollowAccountSuccess(response.data));
|
||||
dispatch(unfollowAccountSuccess(response.data, getState().get('statuses')));
|
||||
}).catch(error => {
|
||||
dispatch(unfollowAccountFail(error));
|
||||
});
|
||||
@@ -157,10 +157,11 @@ export function unfollowAccountRequest(id) {
|
||||
};
|
||||
};
|
||||
|
||||
export function unfollowAccountSuccess(relationship) {
|
||||
export function unfollowAccountSuccess(relationship, statuses) {
|
||||
return {
|
||||
type: ACCOUNT_UNFOLLOW_SUCCESS,
|
||||
relationship,
|
||||
statuses,
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -94,6 +94,10 @@ export default class RelativeTimestamp extends React.Component {
|
||||
this._scheduleNextUpdate(nextProps, nextState);
|
||||
}
|
||||
|
||||
componentWillUnmount () {
|
||||
clearTimeout(this._timer);
|
||||
}
|
||||
|
||||
_scheduleNextUpdate (props, state) {
|
||||
clearTimeout(this._timer);
|
||||
|
||||
|
@@ -5,5 +5,5 @@ const urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';
|
||||
export function countableText(inputText) {
|
||||
return inputText
|
||||
.replace(urlRegex, urlPlaceholder)
|
||||
.replace(/(?:^|[^\/\w])@(([a-z0-9_]+)@[a-z0-9\.\-]+)/ig, '@$2');
|
||||
.replace(/(?:^|[^\/\w])@(([a-z0-9_]+)@[a-z0-9\.\-]+[a-z0-9]+)/ig, '@$2');
|
||||
};
|
||||
|
@@ -16,7 +16,6 @@ const messages = defineMessages({
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0,
|
||||
hasFollows: state.getIn(['accounts_counters', state.getIn(['meta', 'me']), 'following_count']) > 0,
|
||||
});
|
||||
|
||||
@connect(mapStateToProps)
|
||||
@@ -27,7 +26,6 @@ export default class HomeTimeline extends React.PureComponent {
|
||||
dispatch: PropTypes.func.isRequired,
|
||||
intl: PropTypes.object.isRequired,
|
||||
hasUnread: PropTypes.bool,
|
||||
hasFollows: PropTypes.bool,
|
||||
columnId: PropTypes.string,
|
||||
multiColumn: PropTypes.bool,
|
||||
};
|
||||
@@ -60,17 +58,9 @@ export default class HomeTimeline extends React.PureComponent {
|
||||
}
|
||||
|
||||
render () {
|
||||
const { intl, hasUnread, hasFollows, columnId, multiColumn } = this.props;
|
||||
const { intl, hasUnread, columnId, multiColumn } = this.props;
|
||||
const pinned = !!columnId;
|
||||
|
||||
let emptyMessage;
|
||||
|
||||
if (hasFollows) {
|
||||
emptyMessage = <FormattedMessage id='empty_column.home.inactivity' defaultMessage='Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon.' />;
|
||||
} else {
|
||||
emptyMessage = <FormattedMessage id='empty_column.home' defaultMessage="You aren't following anyone yet. Visit {public} or use search to get started and meet other users." values={{ public: <Link to='/timelines/public'><FormattedMessage id='empty_column.home.public_timeline' defaultMessage='the public timeline' /></Link> }} />;
|
||||
}
|
||||
|
||||
return (
|
||||
<Column ref={this.setRef} name='home'>
|
||||
<ColumnHeader
|
||||
@@ -91,7 +81,7 @@ export default class HomeTimeline extends React.PureComponent {
|
||||
scrollKey={`home_timeline-${columnId}`}
|
||||
loadMore={this.handleLoadMore}
|
||||
timelineId='home'
|
||||
emptyMessage={emptyMessage}
|
||||
emptyMessage={<FormattedMessage id='empty_column.home' defaultMessage='Your home timeline is empty! Visit {public} or use search to get started and meet other users.' values={{ public: <Link to='/timelines/public'><FormattedMessage id='empty_column.home.public_timeline' defaultMessage='the public timeline' /></Link> }} />}
|
||||
/>
|
||||
</Column>
|
||||
);
|
||||
|
@@ -81,7 +81,7 @@
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.inactivity": "Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"account.block": "Bloquejar @{name}",
|
||||
"account.block_domain": "Amagar tot de {domain}",
|
||||
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
|
||||
"account.disclaimer_full": "La informació següent pot reflectir incompleta el perfil de l'usuari.",
|
||||
"account.edit_profile": "Editar perfil",
|
||||
"account.follow": "Seguir",
|
||||
"account.followers": "Seguidors",
|
||||
@@ -13,19 +13,19 @@
|
||||
"account.posts": "Publicacions",
|
||||
"account.report": "Informe @{name}",
|
||||
"account.requested": "Esperant aprovació",
|
||||
"account.share": "Share @{name}'s profile",
|
||||
"account.share": "Compartir el perfil de @{name}",
|
||||
"account.unblock": "Desbloquejar @{name}",
|
||||
"account.unblock_domain": "Mostra {domain}",
|
||||
"account.unfollow": "Deixar de seguir",
|
||||
"account.unmute": "Treure silenci de @{name}",
|
||||
"account.view_full_profile": "View full profile",
|
||||
"account.view_full_profile": "Veure el perfil complet",
|
||||
"boost_modal.combo": "Pots premer {combo} per saltar-te això el proper cop",
|
||||
"bundle_column_error.body": "Something went wrong while loading this component.",
|
||||
"bundle_column_error.retry": "Try again",
|
||||
"bundle_column_error.title": "Network error",
|
||||
"bundle_modal_error.close": "Close",
|
||||
"bundle_modal_error.message": "Something went wrong while loading this component.",
|
||||
"bundle_modal_error.retry": "Try again",
|
||||
"bundle_column_error.body": "S'ha produït un error en carregar aquest component.",
|
||||
"bundle_column_error.retry": "Torna-ho a provar",
|
||||
"bundle_column_error.title": "Error de connexió",
|
||||
"bundle_modal_error.close": "Tanca",
|
||||
"bundle_modal_error.message": "S'ha produït un error en carregar aquest component.",
|
||||
"bundle_modal_error.retry": "Torna-ho a provar",
|
||||
"column.blocks": "Usuaris bloquejats",
|
||||
"column.community": "Línia de temps local",
|
||||
"column.favourites": "Favorits",
|
||||
@@ -33,15 +33,15 @@
|
||||
"column.home": "Inici",
|
||||
"column.mutes": "Usuaris silenciats",
|
||||
"column.notifications": "Notificacions",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.pins": "Toot fixat",
|
||||
"column.public": "Línia de temps federada",
|
||||
"column_back_button.label": "Enrere",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
"column_header.moveRight_settings": "Move column to the right",
|
||||
"column_header.pin": "Pin",
|
||||
"column_header.show_settings": "Show settings",
|
||||
"column_header.unpin": "Unpin",
|
||||
"column_header.hide_settings": "Amaga la configuració",
|
||||
"column_header.moveLeft_settings": "Mou la columna cap a l'esquerra",
|
||||
"column_header.moveRight_settings": "Mou la columna cap a la dreta",
|
||||
"column_header.pin": "Fixar",
|
||||
"column_header.show_settings": "Mostra la configuració",
|
||||
"column_header.unpin": "Deslligar",
|
||||
"column_subheading.navigation": "Navegació",
|
||||
"column_subheading.settings": "Configuració",
|
||||
"compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges a seguidors.",
|
||||
@@ -61,22 +61,22 @@
|
||||
"confirmations.domain_block.message": "Estàs realment, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar és suficient i preferible.",
|
||||
"confirmations.mute.confirm": "Silenciar",
|
||||
"confirmations.mute.message": "Estàs segur que vols silenciar {name}?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
|
||||
"embed.instructions": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"confirmations.unfollow.confirm": "Deixar de seguir",
|
||||
"confirmations.unfollow.message": "Estàs segur que vols deixar de seguir {name}?",
|
||||
"embed.instructions": "Incrusta aquest estat al lloc web copiant el codi a continuació.",
|
||||
"embed.preview": "A continuació s'explica com:",
|
||||
"emoji_button.activity": "Activitat",
|
||||
"emoji_button.custom": "Custom",
|
||||
"emoji_button.custom": "Personalitzat",
|
||||
"emoji_button.flags": "Flags",
|
||||
"emoji_button.food": "Menjar i Beure",
|
||||
"emoji_button.label": "Inserir emoji",
|
||||
"emoji_button.nature": "Natura",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "Emojos no!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objectes",
|
||||
"emoji_button.people": "Gent",
|
||||
"emoji_button.recent": "Frequently used",
|
||||
"emoji_button.recent": "Freqüentment utilitzat",
|
||||
"emoji_button.search": "Cercar...",
|
||||
"emoji_button.search_results": "Search results",
|
||||
"emoji_button.search_results": "Resultats de la cerca",
|
||||
"emoji_button.symbols": "Símbols",
|
||||
"emoji_button.travel": "Viatges i Llocs",
|
||||
"empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per fer rodar la pilota!",
|
||||
@@ -88,7 +88,7 @@
|
||||
"empty_column.public": "No hi ha res aquí! Escriu alguna cosa públicament o segueix manualment usuaris d'altres instàncies per omplir-ho",
|
||||
"follow_request.authorize": "Autoritzar",
|
||||
"follow_request.reject": "Rebutjar",
|
||||
"getting_started.appsshort": "Apps",
|
||||
"getting_started.appsshort": "Aplicacions",
|
||||
"getting_started.faq": "PMF",
|
||||
"getting_started.heading": "Començant",
|
||||
"getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir o informar de problemes a GitHub de {github}.",
|
||||
@@ -100,8 +100,8 @@
|
||||
"home.column_settings.show_replies": "Mostrar respostes",
|
||||
"home.settings": "Ajustos de columna",
|
||||
"lightbox.close": "Tancar",
|
||||
"lightbox.next": "Next",
|
||||
"lightbox.previous": "Previous",
|
||||
"lightbox.next": "Següent",
|
||||
"lightbox.previous": "Anterior",
|
||||
"loading_indicator.label": "Carregant...",
|
||||
"media_gallery.toggle_visible": "Alternar visibilitat",
|
||||
"missing_indicator.label": "No trobat",
|
||||
@@ -113,7 +113,7 @@
|
||||
"navigation_bar.info": "Informació addicional",
|
||||
"navigation_bar.logout": "Tancar sessió",
|
||||
"navigation_bar.mutes": "Usuaris silenciats",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.pins": "Toots fixats",
|
||||
"navigation_bar.preferences": "Preferències",
|
||||
"navigation_bar.public_timeline": "Línia de temps federada",
|
||||
"notification.favourite": "{name} ha afavorit el teu estat",
|
||||
@@ -126,8 +126,8 @@
|
||||
"notifications.column_settings.favourite": "Favorits:",
|
||||
"notifications.column_settings.follow": "Nous seguidors:",
|
||||
"notifications.column_settings.mention": "Mencions:",
|
||||
"notifications.column_settings.push": "Push notifications",
|
||||
"notifications.column_settings.push_meta": "This device",
|
||||
"notifications.column_settings.push": "Push notificacions",
|
||||
"notifications.column_settings.push_meta": "Aquest dispositiu",
|
||||
"notifications.column_settings.reblog": "Boosts:",
|
||||
"notifications.column_settings.show": "Mostrar en la columna",
|
||||
"notifications.column_settings.sound": "Reproduïr so",
|
||||
@@ -160,28 +160,33 @@
|
||||
"privacy.public.short": "Públic",
|
||||
"privacy.unlisted.long": "No publicar en línies de temps públiques",
|
||||
"privacy.unlisted.short": "No llistat",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
"relative_time.just_now": "now",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"reply_indicator.cancel": "Cancel·lar",
|
||||
"report.placeholder": "Comentaris addicionals",
|
||||
"report.submit": "Enviar",
|
||||
"report.target": "Informes",
|
||||
"search.placeholder": "Cercar",
|
||||
"search_popout.search_format": "Advanced search format",
|
||||
"search_popout.search_format": "Format de cerca avançada",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.tips.user": "user",
|
||||
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
|
||||
"standalone.public_title": "A look inside...",
|
||||
"search_popout.tips.text": "El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i els hashtags",
|
||||
"search_popout.tips.user": "usuari",
|
||||
"search_results.total": "{count, number} {count, plural, un {result} altres {results}}",
|
||||
"standalone.public_title": "Una mirada a l'interior ...",
|
||||
"status.cannot_reblog": "Aquesta publicació no pot ser retootejada",
|
||||
"status.delete": "Esborrar",
|
||||
"status.embed": "Embed",
|
||||
"status.embed": "Incrustar",
|
||||
"status.favourite": "Favorit",
|
||||
"status.load_more": "Carrega més",
|
||||
"status.media_hidden": "Multimèdia amagat",
|
||||
"status.mention": "Esmentar @{name}",
|
||||
"status.mute_conversation": "Silenciar conversació",
|
||||
"status.open": "Ampliar aquest estat",
|
||||
"status.pin": "Pin on profile",
|
||||
"status.pin": "Fixat en el perfil",
|
||||
"status.reblog": "Boost",
|
||||
"status.reblogged_by": "{name} ha retootejat",
|
||||
"status.reply": "Respondre",
|
||||
@@ -189,11 +194,11 @@
|
||||
"status.report": "Informar sobre @{name}",
|
||||
"status.sensitive_toggle": "Clic per veure",
|
||||
"status.sensitive_warning": "Contingut sensible",
|
||||
"status.share": "Share",
|
||||
"status.share": "Compartir",
|
||||
"status.show_less": "Mostra menys",
|
||||
"status.show_more": "Mostra més",
|
||||
"status.unmute_conversation": "Activar conversació",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"status.unpin": "Deslliga del perfil",
|
||||
"tabs_bar.compose": "Compondre",
|
||||
"tabs_bar.federated_timeline": "Federada",
|
||||
"tabs_bar.home": "Inici",
|
||||
@@ -201,16 +206,16 @@
|
||||
"tabs_bar.notifications": "Notificacions",
|
||||
"upload_area.title": "Arrossega i deixa anar per carregar",
|
||||
"upload_button.label": "Afegir multimèdia",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_form.description": "Descriure els problemes visuals",
|
||||
"upload_form.undo": "Desfer",
|
||||
"upload_progress.label": "Pujant...",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
"video.fullscreen": "Full screen",
|
||||
"video.hide": "Hide video",
|
||||
"video.mute": "Mute sound",
|
||||
"video.pause": "Pause",
|
||||
"video.play": "Play",
|
||||
"video.unmute": "Unmute sound"
|
||||
"video.close": "Tancar el vídeo",
|
||||
"video.exit_fullscreen": "Surt de pantalla completa",
|
||||
"video.expand": "Ampliar el vídeo",
|
||||
"video.fullscreen": "Pantalla completa",
|
||||
"video.hide": "Amaga vídeo",
|
||||
"video.mute": "Silenciar el so",
|
||||
"video.pause": "Pausa",
|
||||
"video.play": "Reproduir",
|
||||
"video.unmute": "Activar so"
|
||||
}
|
||||
|
@@ -81,7 +81,7 @@
|
||||
"emoji_button.travel": "Reisen und Orte",
|
||||
"empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!",
|
||||
"empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.",
|
||||
"empty_column.home": "Du folgst noch niemandem. Besuche {public} oder nutze die Suche, um loszulegen und andere Leute zu finden.",
|
||||
"empty_column.home": "Deine Startseite ist leer! Besuche {public} oder nutze die Suche, um loszulegen und andere Leute zu finden.",
|
||||
"empty_column.home.inactivity": "Deine Zeitleiste ist leer. Falls du eine längere Zeit inaktiv warst, wird sie für dich so schnell wie möglich neu erstellt.",
|
||||
"empty_column.home.public_timeline": "die öffentliche Zeitleiste",
|
||||
"empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.",
|
||||
@@ -143,7 +143,7 @@
|
||||
"onboarding.page_six.almost_done": "Fast fertig …",
|
||||
"onboarding.page_six.appetoot": "Guten Appetröt!",
|
||||
"onboarding.page_six.apps_available": "Es gibt verschiedene {apps} für iOS, Android und weitere Plattformen.",
|
||||
"onboarding.page_six.github": "Mastodon ist freie, quelloffene Software. Du kannst auf GitHub unter {github} dazu beitragen, Probleme melden und Wünsche äußern.",
|
||||
"onboarding.page_six.github": "Mastodon ist freie, quelloffene Software. Du kannst auf {github} dazu beitragen, Probleme melden und Wünsche äußern.",
|
||||
"onboarding.page_six.guidelines": "Richtlinien",
|
||||
"onboarding.page_six.read_guidelines": "Bitte mach dich mit den {guidelines} von {domain} vertraut.",
|
||||
"onboarding.page_six.various_app": "Apps",
|
||||
|
@@ -912,7 +912,7 @@
|
||||
"id": "empty_column.home.inactivity"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
|
||||
"defaultMessage": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"id": "empty_column.home"
|
||||
},
|
||||
{
|
||||
|
@@ -81,7 +81,7 @@
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.inactivity": "Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
|
@@ -81,7 +81,7 @@
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.inactivity": "Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
|
@@ -66,17 +66,17 @@
|
||||
"embed.instructions": "برای جاگذاری این نوشته در سایت خودتان، کد زیر را کپی کنید.",
|
||||
"embed.preview": "نوشتهٔ جاگذاریشده این گونه به نظر خواهد رسید:",
|
||||
"emoji_button.activity": "فعالیت",
|
||||
"emoji_button.custom": "Custom",
|
||||
"emoji_button.custom": "سفارشی",
|
||||
"emoji_button.flags": "پرچمها",
|
||||
"emoji_button.food": "غذا و نوشیدنی",
|
||||
"emoji_button.label": "افزودن شکلک",
|
||||
"emoji_button.nature": "طبیعت",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "اینجا شکلکی نیست!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "اشیا",
|
||||
"emoji_button.people": "مردم",
|
||||
"emoji_button.recent": "Frequently used",
|
||||
"emoji_button.recent": "زیاد بهکاررفته",
|
||||
"emoji_button.search": "جستجو...",
|
||||
"emoji_button.search_results": "Search results",
|
||||
"emoji_button.search_results": "نتایج جستجو",
|
||||
"emoji_button.symbols": "نمادها",
|
||||
"emoji_button.travel": "سفر و مکان",
|
||||
"empty_column.community": "فهرست نوشتههای محلی خالی است. چیزی بنویسید تا چرخش بچرخد!",
|
||||
@@ -165,11 +165,11 @@
|
||||
"report.submit": "بفرست",
|
||||
"report.target": "گزارشدادن",
|
||||
"search.placeholder": "جستجو",
|
||||
"search_popout.search_format": "Advanced search format",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.tips.user": "user",
|
||||
"search_popout.search_format": "راهنمای جستجوی پیشرفته",
|
||||
"search_popout.tips.hashtag": "هشتگ",
|
||||
"search_popout.tips.status": "نوشته",
|
||||
"search_popout.tips.text": "جستجوی متنی ساده برای نامها، نامهای کاربری، و هشتگها",
|
||||
"search_popout.tips.user": "کاربر",
|
||||
"search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}",
|
||||
"standalone.public_title": "نگاهی به کاربران این سرور...",
|
||||
"status.cannot_reblog": "این نوشته را نمیشود بازبوقید",
|
||||
@@ -201,7 +201,7 @@
|
||||
"tabs_bar.notifications": "اعلانها",
|
||||
"upload_area.title": "برای بارگذاری به اینجا بکشید",
|
||||
"upload_button.label": "افزودن تصویر",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_form.description": "نوشتهٔ توضیحی برای کمبینایان و نابینایان",
|
||||
"upload_form.undo": "واگردانی",
|
||||
"upload_progress.label": "بارگذاری...",
|
||||
"video.close": "بستن ویدیو",
|
||||
|
@@ -81,7 +81,7 @@
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.inactivity": "Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
|
@@ -54,13 +54,13 @@
|
||||
"compose_form.spoiler_placeholder": "Écrivez ici votre avertissement",
|
||||
"confirmation_modal.cancel": "Annuler",
|
||||
"confirmations.block.confirm": "Bloquer",
|
||||
"confirmations.block.message": "Confirmez vous le blocage de {name} ?",
|
||||
"confirmations.block.message": "Confirmez-vous le blocage de {name} ?",
|
||||
"confirmations.delete.confirm": "Supprimer",
|
||||
"confirmations.delete.message": "Confirmez vous la suppression de ce pouet ?",
|
||||
"confirmations.delete.message": "Confirmez-vous la suppression de ce pouet ?",
|
||||
"confirmations.domain_block.confirm": "Masquer le domaine entier",
|
||||
"confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier ? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables.",
|
||||
"confirmations.mute.confirm": "Masquer",
|
||||
"confirmations.mute.message": "Confirmez vous le masquage de {name} ?",
|
||||
"confirmations.mute.message": "Confirmez-vous le masquage de {name} ?",
|
||||
"confirmations.unfollow.confirm": "Ne plus suivre",
|
||||
"confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name} ?",
|
||||
"embed.instructions": "Intégrez ce statut à votre site en copiant ce code ci-dessous.",
|
||||
@@ -69,7 +69,7 @@
|
||||
"emoji_button.custom": "Personnalisés",
|
||||
"emoji_button.flags": "Drapeaux",
|
||||
"emoji_button.food": "Boire et manger",
|
||||
"emoji_button.label": "Insérer un emoji",
|
||||
"emoji_button.label": "Insérer un émoji",
|
||||
"emoji_button.nature": "Nature",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objets",
|
||||
@@ -79,7 +79,7 @@
|
||||
"emoji_button.search_results": "Résultats de la recherche",
|
||||
"emoji_button.symbols": "Symboles",
|
||||
"emoji_button.travel": "Lieux et voyages",
|
||||
"empty_column.community": "Le fil public local est vide. Écrivez-donc quelque chose pour le remplir !",
|
||||
"empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !",
|
||||
"empty_column.hashtag": "Il n’y a encore aucun contenu associé à ce hashtag",
|
||||
"empty_column.home": "Vous ne suivez encore personne. Visitez {public} ou bien utilisez la recherche pour vous connecter à d’autres utilisateur⋅ice⋅s.",
|
||||
"empty_column.home.inactivity": "Votre accueil est vide. Si vous ne vous êtes pas connecté⋅e depuis un moment, il se remplira automatiquement très bientôt.",
|
||||
@@ -124,7 +124,7 @@
|
||||
"notifications.clear_confirmation": "Voulez-vous vraiment supprimer toutes vos notifications ?",
|
||||
"notifications.column_settings.alert": "Notifications locales",
|
||||
"notifications.column_settings.favourite": "Favoris :",
|
||||
"notifications.column_settings.follow": "Nouveaux⋅elles abonn⋅é⋅s :",
|
||||
"notifications.column_settings.follow": "Nouveaux⋅elles abonné⋅e⋅s :",
|
||||
"notifications.column_settings.mention": "Mentions :",
|
||||
"notifications.column_settings.push": "Notifications push",
|
||||
"notifications.column_settings.push_meta": "Cet appareil",
|
||||
@@ -139,7 +139,7 @@
|
||||
"onboarding.page_one.federation": "Mastodon est un réseau social qui appartient à tou⋅te⋅s.",
|
||||
"onboarding.page_one.handle": "Vous êtes sur {domain}, une des nombreuses instances indépendantes de Mastodon. Votre nom d’utilisateur⋅ice complet est {handle}",
|
||||
"onboarding.page_one.welcome": "Bienvenue sur Mastodon !",
|
||||
"onboarding.page_six.admin": "L’administrateur⋅trice de votre instance est {admin}",
|
||||
"onboarding.page_six.admin": "L’administrateur⋅ice de votre instance est {admin}",
|
||||
"onboarding.page_six.almost_done": "Nous y sommes presque…",
|
||||
"onboarding.page_six.appetoot": "Bon appouétit !",
|
||||
"onboarding.page_six.apps_available": "De nombreuses {apps} sont disponibles pour iOS, Android et autres. Et maintenant… Bon appouétit !",
|
||||
|
@@ -81,7 +81,7 @@
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.inactivity": "Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
|
@@ -151,8 +151,8 @@
|
||||
"onboarding.page_three.search": "Gebruik de zoekbalk linksboven om andere mensen op Mastodon te vinden en om te zoeken op hashtags, zoals {illustration} en {introductions}. Om iemand te vinden die niet op deze Mastodon-server zit, moet je het volledige Mastodon-adres van deze persoon invoeren.",
|
||||
"onboarding.page_two.compose": "Schrijf berichten (wij noemen dit toots) in het tekstvak in de linkerkolom. Je kan met de pictogrammen daaronder afbeeldingen uploaden, privacy-instellingen veranderen en je tekst een waarschuwing meegeven.",
|
||||
"onboarding.skip": "Overslaan",
|
||||
"privacy.change": "Privacy toot aanpassen",
|
||||
"privacy.direct.long": "Toot alleen naar vermelde gebruikers",
|
||||
"privacy.change": "Zichtbaarheid toot aanpassen",
|
||||
"privacy.direct.long": "Alleen aan vermelde gebruikers tonen",
|
||||
"privacy.direct.short": "Direct",
|
||||
"privacy.private.long": "Alleen aan volgers tonen",
|
||||
"privacy.private.short": "Alleen volgers",
|
||||
|
@@ -81,7 +81,7 @@
|
||||
"emoji_button.travel": "Viatges & lòcs",
|
||||
"empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir !",
|
||||
"empty_column.hashtag": "I a pas encara de contengut ligat a aqueste hashtag",
|
||||
"empty_column.home": "Pel moment seguètz pas degun. Visitatz {public} o utilizatz la recèrca per vos connectar a d’autras personas.",
|
||||
"empty_column.home": "Vòstre flux d’acuèlh es void. Visitatz {public} o utilizatz la recèrca per vos connectar a d’autras personas.",
|
||||
"empty_column.home.inactivity": "Vòstra pagina d’acuèlh es voida. Se sètz estat inactiu per un moment, serà tornada generar per vos dins una estona.",
|
||||
"empty_column.home.public_timeline": "lo flux public",
|
||||
"empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualqu’un per començar una conversacion.",
|
||||
@@ -201,7 +201,7 @@
|
||||
"tabs_bar.notifications": "Notificacions",
|
||||
"upload_area.title": "Lisatz e depausatz per mandar",
|
||||
"upload_button.label": "Ajustar un mèdia",
|
||||
"upload_form.description": "Descripcion se per cas i aja un problèma",
|
||||
"upload_form.description": "Descripcion pels mal vesents",
|
||||
"upload_form.undo": "Anullar",
|
||||
"upload_progress.label": "Mandadís…",
|
||||
"video.close": "Tampar la vidèo",
|
||||
|
@@ -45,7 +45,7 @@
|
||||
"column_subheading.navigation": "Navegação",
|
||||
"column_subheading.settings": "Configurações",
|
||||
"compose_form.lock_disclaimer": "A sua conta não está {locked}. Qualquer pessoa pode te seguir e visualizar postagens direcionadas a apenas seguidores.",
|
||||
"compose_form.lock_disclaimer.lock": "trancado",
|
||||
"compose_form.lock_disclaimer.lock": "trancada",
|
||||
"compose_form.placeholder": "No que você está pensando?",
|
||||
"compose_form.publish": "Publicar",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
@@ -66,17 +66,17 @@
|
||||
"embed.instructions": "Incorpore esta postagem em seu site copiando o código abaixo:",
|
||||
"embed.preview": "Aqui está uma previsão de como ficará:",
|
||||
"emoji_button.activity": "Atividades",
|
||||
"emoji_button.custom": "Custom",
|
||||
"emoji_button.custom": "Customizados",
|
||||
"emoji_button.flags": "Bandeiras",
|
||||
"emoji_button.food": "Comidas & Bebidas",
|
||||
"emoji_button.label": "Inserir Emoji",
|
||||
"emoji_button.nature": "Natureza",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "Não tem emojos! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objetos",
|
||||
"emoji_button.people": "Pessoas",
|
||||
"emoji_button.recent": "Frequently used",
|
||||
"emoji_button.recent": "Usados frequentemente",
|
||||
"emoji_button.search": "Buscar...",
|
||||
"emoji_button.search_results": "Search results",
|
||||
"emoji_button.search_results": "Resultados da busca",
|
||||
"emoji_button.symbols": "Símbolos",
|
||||
"emoji_button.travel": "Viagens & Lugares",
|
||||
"empty_column.community": "A timeline local está vazia. Escreva algo publicamente para começar!",
|
||||
@@ -148,7 +148,7 @@
|
||||
"onboarding.page_six.read_guidelines": "Por favor, leia as {guidelines} do {domain}!",
|
||||
"onboarding.page_six.various_app": "aplicativos móveis",
|
||||
"onboarding.page_three.profile": "Edite o seu perfil para mudar o seu o seu avatar, bio e nome de exibição. No menu de configurações, você também encontrará outras preferências.",
|
||||
"onboarding.page_three.search": "Use a barra de buscas para encontrar pessoas e consultar hashtahs, como #illustrations e #introductions. Para procurar por uma pessoa que não estiver nesta instância, use o nome de usuário completo dela.",
|
||||
"onboarding.page_three.search": "Use a barra de buscas para encontrar pessoas e consultar hashtags, como #illustrations e #introductions. Para procurar por uma pessoa que não estiver nesta instância, use o nome de usuário completo dela.",
|
||||
"onboarding.page_two.compose": "Escreva postagens na coluna de escrita. Você pode hospedar imagens, mudar as configurações de privacidade e adicionar alertas de conteúdo através dos ícones abaixo.",
|
||||
"onboarding.skip": "Pular",
|
||||
"privacy.change": "Ajustar a privacidade da mensagem",
|
||||
@@ -165,15 +165,15 @@
|
||||
"report.submit": "Enviar",
|
||||
"report.target": "Denunciar",
|
||||
"search.placeholder": "Pesquisar",
|
||||
"search_popout.search_format": "Advanced search format",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.search_format": "Advanced search format",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Texto simples retorna nomes de exibição, usuários e hashtags correspondentes",
|
||||
"search_popout.tips.user": "user",
|
||||
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
|
||||
"standalone.public_title": "Dê uma espiada...",
|
||||
"status.cannot_reblog": "Esta postagem não pode ser compartilhada",
|
||||
"status.delete": "Eliminar",
|
||||
"status.delete": "Excluir",
|
||||
"status.embed": "Incorporar",
|
||||
"status.favourite": "Adicionar aos favoritos",
|
||||
"status.load_more": "Carregar mais",
|
||||
@@ -201,15 +201,15 @@
|
||||
"tabs_bar.notifications": "Notificações",
|
||||
"upload_area.title": "Arraste e solte para enviar",
|
||||
"upload_button.label": "Adicionar mídia",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_form.undo": "Anular",
|
||||
"upload_form.description": "Descreva a imagem para deficientes visuais",
|
||||
"upload_form.undo": "Desfazer",
|
||||
"upload_progress.label": "Salvando...",
|
||||
"video.close": "Fechar vídeo",
|
||||
"video.exit_fullscreen": "Sair da tela cheia",
|
||||
"video.expand": "Expandir vídeo",
|
||||
"video.fullscreen": "Tela cheia",
|
||||
"video.hide": "Esconder vídeo",
|
||||
"video.mute": "Silenciar vídeo",
|
||||
"video.mute": "Silenciar",
|
||||
"video.pause": "Parar",
|
||||
"video.play": "Reproduzir",
|
||||
"video.unmute": "Retirar silêncio"
|
||||
|
@@ -81,7 +81,7 @@
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.inactivity": "Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
|
@@ -14,6 +14,7 @@ import {
|
||||
import {
|
||||
ACCOUNT_BLOCK_SUCCESS,
|
||||
ACCOUNT_MUTE_SUCCESS,
|
||||
ACCOUNT_UNFOLLOW_SUCCESS,
|
||||
} from '../actions/accounts';
|
||||
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
|
||||
|
||||
@@ -108,6 +109,12 @@ const filterTimelines = (state, relationship, statuses) => {
|
||||
return state;
|
||||
};
|
||||
|
||||
const filterTimeline = (timeline, state, relationship, statuses) =>
|
||||
state.updateIn([timeline, 'items'], ImmutableList(), list =>
|
||||
list.filterNot(statusId =>
|
||||
statuses.getIn([statusId, 'account']) === relationship.id
|
||||
));
|
||||
|
||||
const updateTop = (state, timeline, top) => {
|
||||
return state.update(timeline, initialTimeline, map => map.withMutations(mMap => {
|
||||
if (top) mMap.set('unread', 0);
|
||||
@@ -134,6 +141,8 @@ export default function timelines(state = initialState, action) {
|
||||
case ACCOUNT_BLOCK_SUCCESS:
|
||||
case ACCOUNT_MUTE_SUCCESS:
|
||||
return filterTimelines(state, action.relationship, action.statuses);
|
||||
case ACCOUNT_UNFOLLOW_SUCCESS:
|
||||
return filterTimeline('home', state, action.relationship, action.statuses);
|
||||
case TIMELINE_SCROLL_TOP:
|
||||
return updateTop(state, action.timeline, action.top);
|
||||
case TIMELINE_CONNECT:
|
||||
|
@@ -702,7 +702,6 @@
|
||||
.features #mastodon-timeline {
|
||||
height: 70vh;
|
||||
width: 100%;
|
||||
min-width: 330px;
|
||||
margin-bottom: 50px;
|
||||
|
||||
.column {
|
||||
@@ -716,85 +715,96 @@
|
||||
}
|
||||
|
||||
&.tag-page {
|
||||
.brand {
|
||||
padding-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
.features {
|
||||
padding: 30px 0;
|
||||
|
||||
img {
|
||||
height: 48px;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
.container {
|
||||
max-width: 820px;
|
||||
|
||||
.container {
|
||||
max-width: 690px;
|
||||
}
|
||||
#mastodon-timeline {
|
||||
margin-right: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
|
||||
.cta {
|
||||
margin: 40px 0;
|
||||
margin-bottom: 80px;
|
||||
.about-mastodon {
|
||||
.about-hashtag {
|
||||
background: darken($ui-base-color, 4%);
|
||||
padding: 0 20px 20px 30px;
|
||||
border-radius: 0 5px 5px 0;
|
||||
|
||||
.button {
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
.brand {
|
||||
padding-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.about-mastodon {
|
||||
max-width: 330px;
|
||||
img {
|
||||
height: 48px;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
strong {
|
||||
color: $ui-secondary-color;
|
||||
font-weight: 700;
|
||||
p {
|
||||
strong {
|
||||
color: $ui-secondary-color;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
|
||||
.cta {
|
||||
margin: 0;
|
||||
|
||||
.button {
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.features-list {
|
||||
margin-left: 30px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 675px) {
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.features {
|
||||
padding: 20px 0;
|
||||
}
|
||||
padding: 10px 0;
|
||||
|
||||
.about-mastodon {
|
||||
order: 1;
|
||||
flex: 0 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
#mastodon-timeline {
|
||||
order: 2;
|
||||
flex: 0 0 auto;
|
||||
height: 60vh;
|
||||
}
|
||||
#mastodon-timeline {
|
||||
order: 2;
|
||||
flex: 0 0 auto;
|
||||
height: 60vh;
|
||||
margin-bottom: 20px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
|
||||
.cta {
|
||||
margin: 20px 0;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.about-mastodon {
|
||||
order: 1;
|
||||
flex: 0 0 auto;
|
||||
max-width: 100%;
|
||||
|
||||
.features-list {
|
||||
display: none;
|
||||
}
|
||||
.about-hashtag {
|
||||
background: unset;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
|
||||
.stripe {
|
||||
display: none;
|
||||
.cta {
|
||||
margin: 20px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.features-list {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.stripe {
|
||||
width: 100%;
|
||||
height: 360px;
|
||||
overflow: hidden;
|
||||
background: darken($ui-base-color, 4%);
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes floating {
|
||||
|
Reference in New Issue
Block a user