From cb7ba23cd85a1ee346fd9fc18a6f988fc3c986d3 Mon Sep 17 00:00:00 2001 From: JeanGauthier <32121978+JeanGauthier@users.noreply.github.com> Date: Thu, 12 Oct 2017 15:40:45 +0200 Subject: Update oc.json (#5343) --- app/javascript/mastodon/locales/oc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index d730b47f4..541a8eb68 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -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", -- cgit From 3cfcc7a50e7268567ed1d1ebb700d0acadad0f46 Mon Sep 17 00:00:00 2001 From: Alda Marteau-Hardi Date: Thu, 12 Oct 2017 16:31:14 +0200 Subject: Fix some consistance errors in gender neutral formulations. Add some missing ones. (#5350) --- app/javascript/mastodon/locales/fr.json | 4 +-- config/locales/fr.yml | 50 ++++++++++++++++----------------- 2 files changed, 27 insertions(+), 27 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 4eca47b60..f2144aec6 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -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 !", diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 2463826af..cb5cddff7 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -10,7 +10,7 @@ fr: contact_unavailable: Non disponible description_headline: Qu’est-ce que %{domain} ? domain_count_after: autres instances - domain_count_before: Connectés à + domain_count_before: Connecté⋅e⋅s à extended_description_html: |

Un bon endroit pour les règles

La description étendue n’a pas été remplie.

@@ -36,7 +36,7 @@ fr: what_is_mastodon: Qu’est-ce que Mastodon ? accounts: follow: Suivre - followers: Abonné⋅es + followers: Abonné⋅e⋅s following: Abonnements media: Médias nothing_here: Rien à voir ici ! @@ -60,7 +60,7 @@ fr: edit: Éditer email: Courriel feed_url: URL du flux - followers: Abonné⋅es + followers: Abonné⋅e⋅s followers_url: URL des abonné·e·s follows: Abonnements inbox_url: URL d’entrée @@ -112,13 +112,13 @@ fr: web: Web account_moderation_notes: - account: Modérateur·rice + account: Modérateur·ice created_at: Date create: Créer created_msg: Note de modération créée avec succès ! delete: Supprimer destroyed_msg: Note de modération supprimée avec succès ! - + custom_emojis: copied_msg: Copie locale de l’émoji créée avec succès ! copy: Copier @@ -212,8 +212,8 @@ fr: view: Voir settings: bootstrap_timeline_accounts: - desc_html: Séparez les noms d’utilisateur·rice par des virgules. Ne fonctionne qu’avec des comptes locaux et non-verrouillés. Si laissé vide, tous les administrateur⋅ice⋅s locaux sont sélectionné⋅e⋅s. - title: Abonnements par défaut pour les nouveaux·elles utilisateur·rice·s + desc_html: Séparez les noms d’utilisateur·ice par des virgules. Ne fonctionne qu’avec des comptes locaux et non-verrouillés. Si laissé vide, tous les administrateur⋅ice⋅s locaux sont sélectionné⋅e⋅s. + title: Abonnements par défaut pour les nouveaux·elles utilisateur·ice·s contact_information: email: Entrez une adresse courriel publique username: Entrez un nom d’utilisateur⋅ice @@ -222,7 +222,7 @@ fr: desc_html: Affiché sur la page d’accueil lorsque les inscriptions sont fermées
Vous pouvez utiliser des balises HTML title: Message de fermeture des inscriptions deletion: - desc_html: Permettre à tou·te·s les utilisateur·rice·s de supprimer leur compte + desc_html: Permettre à tou·te·s les utilisateur·ice·s de supprimer leur compte title: Autoriser les suppressions de compte open: desc_html: Autoriser tout le monde à créer un compte @@ -305,7 +305,7 @@ fr: following: 'Youpi ! Vous suivez :' post_follow: close: Ou bien, vous pouvez fermer cette fenêtre. - return: Retour au profil de l’utilisateur⋅trice + return: Retour au profil de l’utilisateur⋅ice web: Retour à l’interface web title: Suivre %{acct} datetime: @@ -351,14 +351,14 @@ fr: followers: domain: Domaine explanation_html: Si vous voulez être sûr⋅e que vos statuts restent privés, vous devez savoir qui vous suit. Vos statuts privés seront diffusés à toutes les instances des utilisateur⋅ice⋅s qui vous suivent. Vous voudrez peut-être les passer en revue et les supprimer si vous n’êtes pas sûr⋅e que votre vie privée sera respectée par l’administration ou le logiciel de ces instances. - followers_count: Nombre d’abonné⋅es + followers_count: Nombre d’abonné⋅e⋅s lock_link: Rendez votre compte privé - purge: Retirer de la liste d’abonné⋅es + purge: Retirer de la liste d’abonné⋅e⋅s success: - one: Suppression des abonné⋅es venant d’un domaine en cours… - other: Suppression des abonné⋅es venant de %{count} domaines en cours… - true_privacy_html: Soyez conscient⋅es qu’une vraie confidentialité ne peut être atteinte que par un chiffrement de bout-en-bout. - unlocked_warning_html: N’importe qui peut vous suivre et voir vos statuts privés. %{lock_link} afin de pouvoir vérifier et rejeter des abonné⋅es. + one: Suppression des abonné⋅e⋅s venant d’un domaine en cours… + other: Suppression des abonné⋅e⋅s venant de %{count} domaines en cours… + true_privacy_html: Soyez conscient⋅e⋅s qu’une vraie confidentialité ne peut être atteinte que par un chiffrement de bout-en-bout. + unlocked_warning_html: N’importe qui peut vous suivre et voir vos statuts privés. %{lock_link} afin de pouvoir vérifier et rejeter des abonné⋅e⋅s. unlocked_warning_title: Votre compte n’est pas privé generic: changes_saved_msg: Les modifications ont été enregistrées avec succès ! @@ -371,11 +371,11 @@ fr: preface: Vous pouvez importer certaines données comme les personnes que vous suivez ou bloquez sur votre compte sur cette instance à partir de fichiers créés sur une autre instance. success: Vos données ont été importées avec succès et seront traitées en temps et en heure types: - blocking: Liste d’utilisateur⋅ice⋅s bloqué⋅es - following: Liste d’utilisateur⋅ice⋅s suivi⋅es + blocking: Liste d’utilisateur⋅ice⋅s bloqué⋅e⋅s + following: Liste d’utilisateur⋅ice⋅s suivi⋅e⋅s muting: Liste d’utilisateur⋅ice⋅s que vous masquez upload: Importer - landing_strip_html: %{name} utilise %{link_to_root_path}. Vous pouvez le/la suivre et interagir si vous possédez un compte quelque part dans le "fediverse". + landing_strip_html: %{name} utilise %{link_to_root_path}. Vous pouvez læ suivre et interagir si vous possédez un compte quelque part dans le "fediverse". landing_strip_signup_html: Si ce n’est pas le cas, vous pouvez en créer un ici. media_attachments: validations: @@ -508,8 +508,8 @@ fr: reblog: Un partage ne peut pas être épinglé show_more: Afficher plus visibilities: - private: Abonné⋅es uniquement - private_long: Seul⋅es vos abonné⋅es verront vos statuts + private: Abonné⋅e⋅s uniquement + private_long: Seul⋅e⋅s vos abonné⋅e⋅s verront vos statuts public: Public public_long: Tout le monde peut voir vos statuts unlisted: Public sans être affiché sur le fil public @@ -539,7 +539,7 @@ fr:
  • Pour personnaliser votre expérience — vos données nous aident à mieux répondre à vos besoins individuels.
  • Pour améliorer notre site — nous faisons tout notre possible pour améliorer notre site en fonction des données, retours et suggestions que nous recevons.
  • Afin d’améliorer le support client — vos données nous aident à mieux répondre à vos requêtes et demandes de support.
  • -
  • Afin d’envoyer des courriels à intervalles réguliers — l’adresse électronique que vous renseignez peut être utilisée pour vous envoyer des données et notifications concernant des changements ou en réponse à votre nom d’utilisateur⋅trice, en réponse à vos demandes et/ou autres requêtes ou questions
  • +
  • Afin d’envoyer des courriels à intervalles réguliers — l’adresse électronique que vous renseignez peut être utilisée pour vous envoyer des données et notifications concernant des changements ou en réponse à votre nom d’utilisateur⋅ice, en réponse à vos demandes et/ou autres requêtes ou questions
  • Comment protégeons-nous vos données ?

    @@ -559,15 +559,15 @@ fr:

    Oui. Les cookies sont de petits fichiers qu’un site ou prestataires de services transfèrent sur le disque dur de votre ordinateur par le biais de votre navigateur Web (si ce dernier le permet). Ces cookies permettent au site de reconnaître votre navigateur et, si vous disposez d’un compte, de l’associer à celui-ci.

    -

    Nous utilisons les cookies pour enregistrer vos préférences pour de futures visites, compiler des données agrégées à propos du trafic et des interactions effectuées sur le site afin de proposer une meilleure expérience dans le futur. Nous pouvons contracter les services d’acteurs tiers afin de nous aider à mieux comprendre les visiteurs de notre site. Ces acteurs ont l’autorisation d’utiliser ces données seulement à des fins d’améliorations.

    +

    Nous utilisons les cookies pour enregistrer vos préférences pour de futures visites, compiler des données agrégées à propos du trafic et des interactions effectuées sur le site afin de proposer une meilleure expérience dans le futur. Nous pouvons contracter les services de tiers afin de nous aider à mieux comprendre les visiteurs de notre site. Ces tiers ont l’autorisation d’utiliser ces données seulement à des fins d’améliorations.

    -

    Divulguons-nous des données à des acteurs tiers ?

    +

    Divulguons-nous des données à des tiers ?

    -

    Nous n’échangeons pas, ne vendons pas ni effectuons de quelconques transferts avec des acteurs tiers d’informations permettant de vous identifier personnellement. Cela n’inclut pas les acteurs de confiance qui nous aident à gérer notre entreprise et à vous servir tant que ces acteurs s’accordent à garder lesdites informations confidentielles. Nous pouvons être amenés à délivrer vos informations lorsque jugé adéquat afin de respecter la loi, d’appliquer la politique de notre site, ou afin de protéger nos droits, ceux des autres, notre propriété ou sécurité. Cependant, aucune information permettant l’identification de nos visiteurs ne sera divulguée à des fins publicitaires, commerciales ou tout autre usage.

    +

    Nous n’échangeons pas, ne vendons pas ni effectuons de quelconques transferts avec des tiers d’informations permettant de vous identifier personnellement. Cela n’inclut pas les tiers de confiance qui nous aident à gérer notre entreprise et à vous servir tant que ces tiers s’accordent à garder lesdites informations confidentielles. Nous pouvons être amenés à délivrer vos informations lorsque jugé adéquat afin de respecter la loi, d’appliquer la politique de notre site, ou afin de protéger nos droits, ceux des autres, notre propriété ou sécurité. Cependant, aucune information permettant l’identification de nos visiteur⋅euse⋅s ne sera divulguée à des fins publicitaires, commerciales ou tout autre usage.

    Liens vers des tiers

    -

    Nous pouvons être amenés à inclure ou offrir les services ou produits d’acteurs tiers sur notre site. Ces acteurs tiers possèdent leur propre politique de confidentialité. Nous ne sommes donc pas responsables du contenu ou activités desdits acteurs. Néanmoins, nous cherchons à protéger l’intégrité de notre site et sommes ouverts à toute remarque concernant ces acteurs.

    +

    Nous pouvons être amenés à inclure ou offrir les services ou produits de tiers sur notre site. Ces tiers possèdent leur propre politique de confidentialité. Nous ne sommes donc pas responsables du contenu ou activités desdits tiers. Néanmoins, nous cherchons à protéger l’intégrité de notre site et sommes ouverts à toute remarque concernant ces tiers.

    Children's Online Privacy Protection Act

    -- cgit From ad917cda106d779f0af776c1c856da43d1770524 Mon Sep 17 00:00:00 2001 From: Anna e só Date: Thu, 12 Oct 2017 18:16:43 -0300 Subject: l10n: PT-BR translation updated (#5362) * PT-BR translation updated * Testing * Indentation error fixed * More indentation errors fixed --- app/javascript/mastodon/locales/pt-BR.json | 28 +++++------ config/locales/activerecord.pt-BR.yml | 13 +++++ config/locales/pt-BR.yml | 79 ++++++++++++++++++++++++++---- 3 files changed, 97 insertions(+), 23 deletions(-) create mode 100644 config/locales/activerecord.pt-BR.yml (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 61674b37e..2c79a7509 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -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" diff --git a/config/locales/activerecord.pt-BR.yml b/config/locales/activerecord.pt-BR.yml new file mode 100644 index 000000000..d2519fe90 --- /dev/null +++ b/config/locales/activerecord.pt-BR.yml @@ -0,0 +1,13 @@ +--- +pt-BR: + activerecord: + errors: + models: + account: + attributes: + username: + invalid: apenas letras, números e underscores + status: + attributes: + reblog: + taken: do status já existe diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index f2b46927b..060fd3112 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -2,6 +2,7 @@ pt-BR: about: about_mastodon_html: Mastodon é uma rede social baseada em protocolos abertos e software gratuito e de código aberto. É descentralizada como e-mail. + about_hashtag_html: Estes são toots públicos com a hashtag #%{hashtag}. Voce pode interagir com eles se tiver uma conta em qualquer lugar no fediverso. about_this: Sobre closed_registrations: Cadastros estão atualmente fechados nesta instância. No entanto! Você pode procurar uma instância diferente na qual possa criar uma conta e acessar a mesma rede por lá. contact: Contato @@ -10,7 +11,9 @@ pt-BR: description_headline: O que é %{domain}? domain_count_after: outras instâncias domain_count_before: Conectado a - extended_description_html: "

    Um bom lugar para as regras

    A descrição extendida ainda não foi definida.

    " + extended_description_html: +

    Um bom lugar para regras

    +

    A descrição da instância ainda não foi feita.

    features: humane_approach_body: Aprendendo com erros de outras redes, Mastodon tem como objetivo fazer decisões éticas de design para combater o desuso de redes sociais. humane_approach_title: Uma abordagem mais humana @@ -56,8 +59,9 @@ pt-BR: domain: Domínio edit: Editar email: E-mail - feed_url: Feed URL + feed_url: URL do feed followers: Seguidores + followers_url: URL de seguidores follows: Segue inbox_url: Inbox URL ip: IP @@ -72,6 +76,7 @@ pt-BR: silenced: Silenciados suspended: Suspensos title: Moderação + moderation_notes: Notas de moderação most_recent_activity: Atividade mais recente most_recent_ip: IP mais recente not_subscribed: Não inscrito @@ -79,7 +84,7 @@ pt-BR: alphabetic: Alfabética most_recent: Mais recente title: Ordem - outbox_url: Outbox URL + outbox_url: URL da Outbox perform_full_suspension: Efetue suspensão total profile_url: URL do perfil protocol: Protocolo @@ -91,6 +96,7 @@ pt-BR: resubscribe: Reinscrever-se salmon_url: Salmon URL search: Pesquisar + shared_inbox_url: URL da Inbox Compartilhada show: created_reports: Relatórios criados por esta conta report: relatórios @@ -104,6 +110,34 @@ pt-BR: unsubscribe: Desinscrever-se username: Nome de usuário web: Web + + account_moderation_notes: + account: Moderador + created_at: Data + create: Criar + created_msg: Nota de moderação criada com sucesso! + delete: Excluir + destroyed_msg: Nota de moderação excluída com sucesso! + + custom_emojis: + copied_msg: Cópia local do emoji criada com sucesso! + copy: Copiar + copy_failed_msg: Não foi possível criar uma cópia local deste emoji + created_msg: Emoji criado com sucesso! + delete: Excluir + destroyed_msg: Emoji deletado com sucesso! + disable: Desabilitar + disabled_msg: Emoji desabilitado com sucesso! + emoji: Emoji + enable: Habilitar + enabled_msg: Emoji habilitado com sucesso! + image_hint: PNG de até 50KB + new: + title: Adicionar novo emoji customizado + shortcode: Atalho + shortcode_hint: Pelo menos 2 caracteres, apenas caracteres alfanuméricos e underscores + title: Emojis customizados + upload: Enviar domain_blocks: add_new: Adicionar novo created_msg: Bloqueio de domínio está sendo processado @@ -136,9 +170,21 @@ pt-BR: undo: Retirar title: Bloqueios de domínio undo: Retirar + email_domain_blocks: + add_new: Adicionar novo + created_msg: Bloqueio de domínio de e-mail criado com sucesso + delete: Excluir + destroyed_msg: Bloqueio de domínio de e-mail excluído com sucesso + domain: Domínio + new: + create: Criar bloqueio + title: Novo bloqueio de domínio de e-mail + title: Bloqueio de Domínio de E-mail instances: account_count: Contas conhecidas domain_name: Domínio + reset: Resetar + search: Buscar title: Instâncias conhecidas reports: action_taken_by: Ação realizada por @@ -191,6 +237,9 @@ pt-BR: desc_html: Você pode escrever a sua própria política de privacidade, termos de serviço, entre outras coisas.Você pode usar tags HTML. title: Termos de serviço customizados site_title: Nome da instância + thumbnail: + desc_html: Usada para prévias via OpenGraph e API. Recomenda-se 1200x630px + title: Thumbnail da instância timeline_preview: desc_html: Exibir a timeline pública na página inicial title: Prévia da timeline @@ -199,8 +248,8 @@ pt-BR: back_to_account: Voltar para página da conta batch: delete: Deletar - nsfw_off: NSFW OFF - nsfw_on: NSFW ON + nsfw_off: NSFW ATIVADO + nsfw_on: NSFW DESATIVADO execute: Executar failed_to_execute: Falha em executar media: @@ -224,7 +273,7 @@ pt-BR: subject: Nova denúncia sobre %{instance} (#%{id}) application_mailer: salutation: "%{name}," - settings: 'Change e-mail preferences: %{link}' + settings: 'Mudar e-mail de preferência: %{link}' signature: Notificações do Mastodon de %{instance} view: 'Visualizar:' applications: @@ -289,7 +338,10 @@ pt-BR: content: A verificação de segurança falhou. Você desativou o uso de cookies? title: Falha na verificação de segurança '429': Muitas requisições - noscript_html: Para usar o aplicativo web do Mastodon, por favor ative o JavaScript. Alternativamente, experimente um dos apps nativos para o Mastodon para a sua plataforma. + '500': + content: Desculpe, algo deu errado. + title: Esta página não está certa + noscript_html: Para usar o aplicativo web do Mastodon, por favor ative o JavaScript. Ou, se quiser, experimente um dos apps nativos para o Mastodon em sua plataforma. exports: blocks: Você bloqueou csv: CSV @@ -369,6 +421,11 @@ pt-BR: next: Próximo prev: Anterior truncate: "…" + preferences: + languages: Idiomas + other: Outro + publishing: Publicação + web: Web push_notifications: favourite: title: "%{name} favoritou a sua postagem" @@ -420,7 +477,7 @@ pt-BR: ios: iOS linux: Linux mac: Mac - other: unknown platform + other: Plataforma desconhecida windows: Windows windows_mobile: Windows Mobile windows_phone: Windows Phone @@ -436,6 +493,7 @@ pt-BR: export: Exportar dados followers: Seguidores autorizados import: Importar + notifications: Notificações preferences: Preferências settings: Configurações two_factor_authentication: Autenticação em dois passos @@ -444,6 +502,7 @@ pt-BR: open_in_web: Abrir na web over_character_limit: limite de caracteres de %{max} excedido pin_errors: + limit: Muitos toots fixados ownership: Toots de outras pessoas não podem ser fixados private: Toot não-público não pode ser fixado reblog: Um compartilhamento não pode ser fixado @@ -461,7 +520,7 @@ pt-BR: reblogged: compartilhado sensitive_content: Conteúdo sensível terms: - body_html: | + body_html:

    Política de privacidade

    Que informações nós coletamos?

    @@ -530,6 +589,8 @@ pt-BR:

    Originalmente adaptado da política de privacidade do Discourse.

    title: "%{instance} Termos de Serviço e Política de Privacidade" + themes: + default: Mastodon time: formats: default: "%b %d, %Y, %H:%M" -- cgit From d37305c628c37aa16c1356c12aecd8de2105b80f Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 12 Oct 2017 23:26:34 +0200 Subject: Reduce discrepancies between server and client-side character count (#5360) --- app/javascript/mastodon/features/compose/util/counter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/features/compose/util/counter.js b/app/javascript/mastodon/features/compose/util/counter.js index 588a372c6..e6d2487c5 100644 --- a/app/javascript/mastodon/features/compose/util/counter.js +++ b/app/javascript/mastodon/features/compose/util/counter.js @@ -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'); }; -- cgit From 388d093beb2950553f3806a72e72afe77ecc23ac Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 13 Oct 2017 16:44:02 +0200 Subject: When unfollowing, remove from home in web UI immediately (#5369) Do NOT send "delete" through streaming API when unmerging from home timeline. "delete" implies that the original status was deleted, which is not true! --- app/javascript/mastodon/actions/accounts.js | 5 +++-- app/javascript/mastodon/reducers/timelines.js | 9 +++++++++ app/lib/feed_manager.rb | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/actions/accounts.js b/app/javascript/mastodon/actions/accounts.js index 03e3d3d9f..73d6baace 100644 --- a/app/javascript/mastodon/actions/accounts.js +++ b/app/javascript/mastodon/actions/accounts.js @@ -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, }; }; diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js index 065e89f96..b17d74ef3 100644 --- a/app/javascript/mastodon/reducers/timelines.js +++ b/app/javascript/mastodon/reducers/timelines.js @@ -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: diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 6398aa6d6..100f6c8f8 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -85,7 +85,7 @@ class FeedManager oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true)&.first&.last&.to_i || 0 from_account.statuses.select('id, reblog_of_id').where('id > ?', oldest_home_score).reorder(nil).find_each do |status| - unpush(:home, into_account, status) + remove_from_feed(:home, into_account, status) end end -- cgit From 48f7a587999740709f234e1ee004994de0059ab3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 13 Oct 2017 16:44:16 +0200 Subject: Do not try to guess why home timeline is empty in web UI (#5370) * Do not try to guess why home timeline is empty in web UI * Fix style issue --- app/javascript/mastodon/features/home_timeline/index.js | 14 ++------------ app/javascript/mastodon/locales/bg.json | 2 +- app/javascript/mastodon/locales/defaultMessages.json | 4 ++-- app/javascript/mastodon/locales/en.json | 2 +- app/javascript/mastodon/locales/eo.json | 2 +- app/javascript/mastodon/locales/fi.json | 2 +- app/javascript/mastodon/locales/hu.json | 2 +- app/javascript/mastodon/locales/th.json | 2 +- 8 files changed, 10 insertions(+), 20 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/features/home_timeline/index.js b/app/javascript/mastodon/features/home_timeline/index.js index be1e2d78c..a4bc60fac 100644 --- a/app/javascript/mastodon/features/home_timeline/index.js +++ b/app/javascript/mastodon/features/home_timeline/index.js @@ -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 = ; - } else { - emptyMessage = }} />; - } - return ( }} />} /> ); diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 240e3725e..eeded31b7 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -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.", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index 7e8447e4f..99ff3b35b 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -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" }, { @@ -1408,4 +1408,4 @@ ], "path": "app/javascript/mastodon/features/video/index.json" } -] \ No newline at end of file +] diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index b0dbc46bd..12efe0e0c 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -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.", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 1ccd2b817..8f90bdf78 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -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.", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 425b3d82a..0f6554595 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -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.", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 7b9c1b293..2296ea71e 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -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.", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index f3ec9c532..4339d1497 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -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.", -- cgit From c35132a73837af9fb4b0835160fce8ac2e717fc6 Mon Sep 17 00:00:00 2001 From: Jeroen Date: Fri, 13 Oct 2017 18:03:56 +0200 Subject: Dutch strings: small change (#5375) * Dutch strings: small change * And this too. --- app/javascript/mastodon/locales/nl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index a3e237f6b..04b88da34 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -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", -- cgit From eb96aa86a42b14bcc16512ecdffb2cbfee5e66c4 Mon Sep 17 00:00:00 2001 From: Jakob Kramer <811907+gandaro@users.noreply.github.com> Date: Sat, 14 Oct 2017 12:00:23 +0200 Subject: Update German translation (#5389) --- app/javascript/mastodon/locales/de.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index b79b1b2f0..9d9853236 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -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", -- cgit From 2c704ca9c683613e0eae0d27cfbcf5ceac6e7469 Mon Sep 17 00:00:00 2001 From: Masoud Abkenar Date: Sat, 14 Oct 2017 14:28:19 +0200 Subject: l10n: update Persian translation for 2.0 (#5391) --- app/javascript/mastodon/locales/fa.json | 20 ++++++------ config/locales/fa.yml | 55 ++++++++++++++++++++++++++++++++- config/locales/simple_form.fa.yml | 3 ++ 3 files changed, 67 insertions(+), 11 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 13fb91278..9df0dec42 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -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": "بستن ویدیو", diff --git a/config/locales/fa.yml b/config/locales/fa.yml index f7921b1cf..8cb84c7ae 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -2,6 +2,7 @@ fa: about: about_mastodon_html: ماستدون (Mastodon) یک شبکهٔ اجتماعی است که بر اساس پروتکل‌های آزاد وب و نرم‌افزارهای آزاد و کدباز ساخته شده است. این شبکه مانند ایمیل غیرمتمرکز است. + about_hashtag_html: این‌ها نوشته‌های عمومی هستند که برچسب (هشتگ) #%{hashtag} را دارند. اگر شما روی هر سروری حساب داشته باشید می‌توانید به این نوشته‌ها واکنش نشان دهید. about_this: درباره closed_registrations: ثبت‌نام روی این سرور هم‌اینک فعال نیست. اما شما می‌توانید سرور دیگری بیابید و با حسابی که آن‌جا می‌سازید دقیقاً به همین شبکه دسترسی داشته باشید. contact: تماس @@ -75,6 +76,7 @@ fa: silenced: بی‌صدا شده suspended: معلق شده title: مدیریت + moderation_notes: یادداشت مدیر most_recent_activity: آخرین فعالیت‌ها most_recent_ip: آخرین IP ها not_subscribed: عضو نیست @@ -108,6 +110,34 @@ fa: unsubscribe: لغو اشتراک username: نام کاربری web: وب + + account_moderation_notes: + account: مدیر + created_at: تاریخ + create: نوشتن + created_msg: یادداشت مدیر با موفقیت ساخته شد! + delete: پاک کردن + destroyed_msg: یادداشت مدیر با موفقیت پاک شد! + + custom_emojis: + copied_msg: نسخهٔ محلی شکلک با موفقیت ساخته شد + copy: نسخه‌برداری + copy_failed_msg: نشد که نسخهٔ محلی این شکلک ساخته شود + created_msg: این شکلک با موفقیت ساخته شد! + delete: پاک کردن + destroyed_msg: این شکلک با موفقیت پاک شد! + disable: غیرفعال‌سازی + disabled_msg: این شکلک با موفقیت غیرفعال شد + emoji: شکلک + enable: فعال‌سازی + enabled_msg: این شکلک با موفقیت فعال شد + image_hint: پروندهٔ PNG حداکثر 50KB + new: + title: افزودن شکلک سفارشی + shortcode: کد کوتاه + shortcode_hint: دست‌کم ۲ نویسه و تنها شامل حروف، اعداد و زیرخط + title: شکلک‌های سفارشی + upload: بارگذاری domain_blocks: add_new: افزودن تازه created_msg: مسدودکردن دامین در حال انجام است @@ -140,9 +170,21 @@ fa: undo: واگردانی title: دامین‌های مسدودشده undo: واگردانی + email_domain_blocks: + add_new: افزودن تازه + created_msg: مسدودسازی دامین ایمیل با موفقیت ساخته شد + delete: Delete + destroyed_msg: مسدودسازی دامین ایمیل با موفقیت پاک شد + domain: دامین + new: + create: ساختن مسدودسازی + title: مسدودسازی دامین ایمیل تازه + title: مسدودسازی دامین‌های ایمیل instances: account_count: حساب‌های شناخته‌شده domain_name: دامین + reset: بازنشانی + search: جستجو title: سرورهای شناخته‌شده reports: action_taken_by: انجام‌دهنده @@ -294,8 +336,11 @@ fa: '410': صفحه‌ای که به دنبالش بودید دیگر وجود ندارد. '422': content: تأیید امنیتی انجام نشد. آیا مرورگر شما کوکی‌ها را مسدود می‌کند؟ - title: تأیید امنیتی شکست خورد + title: تأیید امنیتی کار نکرد '429': درخواست‌های بیش از حد + '500': + content: شرمنده، یک چیزی از سمت ما اشتباه شده. + title: این صفحه درست نیست noscript_html: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش می‌توانید یک اپ ماستدون را به‌کار ببرید. exports: blocks: حساب‌های مسدودشده @@ -376,6 +421,11 @@ fa: next: بعدی prev: قبلی truncate: "…" + preferences: + languages: زبان‌ها + other: سایر + publishing: انتشار + web: وب push_notifications: favourite: title: "%{name} نوشتهٔ شما را پسندید" @@ -443,6 +493,7 @@ fa: export: برون‌سپاری داده‌ها followers: پیگیران مورد تأیید import: درون‌ریزی + notifications: اعلان‌ها preferences: ترجیحات settings: تنظیمات two_factor_authentication: ورود دومرحله‌ای @@ -538,6 +589,8 @@ fa:

    این نوشته اقتباسی است از سیاست رازداری Discourse.

    title: شرایط استفاده و سیاست رازداری %{instance} + themes: + default: Mastodon time: formats: default: "%d %b %Y, %H:%M" diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index bdc4f32bf..a19d69ff1 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -4,6 +4,7 @@ fa: hints: defaults: avatar: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه ۲ مگابایت. تصویر به اندازهٔ ۱۲۰×۱۲۰ پیکسل تبدیل خواهد شد. + digest: پس از مدت طولانی عدم فعالیت فرستاده می‌شود، شامل خلاصه‌ای از مواردی که در نبودتان از شما نام برده شده display_name: one: 1 حرف باقی مانده other: %{count} حرف باقی مانده @@ -13,6 +14,7 @@ fa: one: 1 حرف باقی مانده other: %{count} حرف باقی مانده setting_noindex: روی نمایهٔ عمومی و صفحهٔ نوشته‌های شما تأثیر می‌گذارد + setting_theme: ظاهر ماستدون را وقتی که از هر دستگاهی به آن وارد می‌شوید تعیین می‌کند. imports: data: پروندهٔ CSV که از سرور ماستدون دیگری برون‌سپاری شده sessions: @@ -43,6 +45,7 @@ fa: setting_delete_modal: پیش از پاک کردن یک نوشته پیغام تأیید نشان بده setting_noindex: درخواست از موتورهای جستجو برای لغو فهرست‌سازی setting_system_font_ui: به‌کاربردن قلم پیش‌فرض سیستم + setting_theme: تم سایت setting_unfollow_modal: نمایش پیغام تأیید پیش از لغو پیگیری دیگران severity: شدت type: نوع درون‌ریزی -- cgit From c6f76db2e16decc1bc1483e616933f561d627c36 Mon Sep 17 00:00:00 2001 From: Yannick A Date: Sat, 14 Oct 2017 14:30:19 +0200 Subject: Update French translation (#5384) Update French translation --- app/javascript/mastodon/locales/fr.json | 8 ++++---- config/locales/devise.fr.yml | 12 ++++++------ config/locales/doorkeeper.fr.yml | 2 +- config/locales/fr.yml | 22 +++++++++++----------- config/locales/simple_form.fr.yml | 4 ++-- 5 files changed, 24 insertions(+), 24 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index f2144aec6..54065c967 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -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.", @@ -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.", diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml index 237ae8f6f..cb4d5d5f6 100644 --- a/config/locales/devise.fr.yml +++ b/config/locales/devise.fr.yml @@ -3,8 +3,8 @@ fr: devise: confirmations: confirmed: Votre compte a été validé. - send_instructions: Vous allez recevoir les instructions nécessaires à la confirmation de votre compte dans quelques minutes. S’il vous plaît, dans le cas où vous ne recevriez pas ce message, vérifiez votre dossier d’indésirables. - send_paranoid_instructions: Si votre adresse électronique existe dans notre base de données, vous allez bientôt recevoir un courriel contenant les instructions de confirmation de votre compte. S’il vous plaît, dans le cas où vous ne recevriez pas ce message, vérifiez votre dossier d’indésirables. + send_instructions: Vous allez recevoir les instructions nécessaires à la confirmation de votre compte dans quelques minutes. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables. + send_paranoid_instructions: Si votre adresse électronique existe dans notre base de données, vous allez bientôt recevoir un courriel contenant les instructions de confirmation de votre compte. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables. failure: already_authenticated: Vous êtes déjà connecté⋅e inactive: Votre compte n’est pas encore activé. @@ -29,8 +29,8 @@ fr: success: Authentifié avec succès via %{kind}. passwords: no_token: Vous ne pouvez accéder à cette page sans passer par un courriel de réinitialisation de mot de passe. Si vous êtes passé⋅e par un courriel de ce type, assurez-vous d’utiliser l’URL complète. - send_instructions: Vous allez recevoir les instructions de réinitialisation du mot de passe dans quelques instants. S’il vous plaît, dans le cas où vous ne recevriez pas ce message, vérifiez votre dossier d’indésirables. - send_paranoid_instructions: Si votre addresse électronique existe dans notre base de données, vous allez recevoir un lien de réinitialisation par courriel. S’il vous plaît, dans le cas où vous ne recevriez pas ce message, vérifiez votre dossier d’indésirables. + send_instructions: Vous allez recevoir les instructions de réinitialisation du mot de passe dans quelques instants. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables. + send_paranoid_instructions: Si votre adresse électronique existe dans notre base de données, vous allez recevoir un lien de réinitialisation par courriel. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables. updated: Votre mot de passe a été modifié avec succès, vous êtes maintenant connecté⋅e updated_not_active: Votre mot de passe a été modifié avec succès. registrations: @@ -46,8 +46,8 @@ fr: signed_in: Connecté. signed_out: Déconnecté. unlocks: - send_instructions: Vous allez recevoir les instructions nécessaires au déverrouillage de votre compte dans quelques instants. S’il vous plaît, dans le cas où vous ne recevriez pas ce message, vérifiez votre dossier d’indésirables. - send_paranoid_instructions: Si votre compte existe, vous allez bientôt recevoir un courriel contenant les instructions pour le déverrouiller. S’il vous plaît, dans le cas où vous ne recevriez pas ce message, vérifiez votre dossier d’indésirables. + send_instructions: Vous allez recevoir les instructions nécessaires au déverrouillage de votre compte dans quelques instants. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables. + send_paranoid_instructions: Si votre compte existe, vous allez bientôt recevoir un courriel contenant les instructions pour le déverrouiller. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables. unlocked: Votre compte a été déverrouillé avec succès, vous êtes maintenant connecté⋅e. errors: messages: diff --git a/config/locales/doorkeeper.fr.yml b/config/locales/doorkeeper.fr.yml index 88a8ec12f..1dcc0da18 100644 --- a/config/locales/doorkeeper.fr.yml +++ b/config/locales/doorkeeper.fr.yml @@ -6,7 +6,7 @@ fr: name: Nom redirect_uri: L’URL de redirection scope: Portée - website: Site Web de l'application + website: Site web de l'application errors: models: doorkeeper/application: diff --git a/config/locales/fr.yml b/config/locales/fr.yml index cb5cddff7..f2d29038b 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -310,18 +310,18 @@ fr: title: Suivre %{acct} datetime: distance_in_words: - about_x_hours: "%{count}h" - about_x_months: "%{count}mois" - about_x_years: "%{count}an(s)" - almost_x_years: "%{count}an(s)" + about_x_hours: "%{count} h" + about_x_months: "%{count} mois" + about_x_years: "%{count} an(s)" + almost_x_years: "%{count} an(s)" half_a_minute: À l’instant - less_than_x_minutes: "%{count}min" + less_than_x_minutes: "%{count} min" less_than_x_seconds: À l’instant over_x_years: "%{count}an(s)" - x_days: "%{count}j" - x_minutes: "%{count}min" - x_months: "%{count}mois" - x_seconds: "%{count}s" + x_days: "%{count} j" + x_minutes: "%{count} min" + x_months: "%{count} mois" + x_seconds: "%{count} s" deletes: bad_password_msg: Bien essayé ! Mot de passe incorrect confirm_password: Entrez votre mot de passe pour vérifier votre identité @@ -555,7 +555,7 @@ fr:
  • ne pas conserver les adresses IP associées aux utilisateur⋅trices et leur contenu plus de 5 ans.
  • -

    Utilisons nous des « cookies » ?

    +

    Utilisons-nous des « cookies » ?

    Oui. Les cookies sont de petits fichiers qu’un site ou prestataires de services transfèrent sur le disque dur de votre ordinateur par le biais de votre navigateur Web (si ce dernier le permet). Ces cookies permettent au site de reconnaître votre navigateur et, si vous disposez d’un compte, de l’associer à celui-ci.

    @@ -602,7 +602,7 @@ fr: enabled: L’authentification à deux facteurs est activée enabled_success: Identification à deux facteurs activée avec succès generate_recovery_codes: Générer les codes de récupération - instructions_html: "Scannez ce QR code grâce à Google Authenticator, Authy ou une application similaire sur votre téléphone. Désormais, cette application générera des jetons que vous devrez saisir à chaque connexion." + instructions_html: "Scannez ce QR code grâce à Google Authenticator, Authy ou une application similaire sur votre téléphone. Désormais, cette application génèrera des jetons que vous devrez saisir à chaque connexion." lost_recovery_codes: Les codes de récupération vous permettent de retrouver les accès à votre comptre si vous perdez votre téléphone. Si vous perdez vos codes de récupération, vous pouvez les générer à nouveau ici. Vos anciens codes de récupération seront invalidés. manual_instructions: 'Si vous ne pouvez pas scanner ce QR code et devez l’entrer manuellement, voici le secret en clair :' recovery_codes: Codes de récupération diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index bac7808f1..40fed9675 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -3,12 +3,12 @@ fr: simple_form: hints: defaults: - avatar: Au format PNG, GIF ou JPG. 2Mo maximum. Sera réduit à 120x120px + avatar: Au format PNG, GIF ou JPG. 2 Mo maximum. Sera réduit à 120x120px digest: Envoyé après une longue période d’inactivité et contient un résumé des notifications que vous avez reçues pendant votre absence display_name: one: 1 caractère restant other: %{count} caractères restants - header: Au format PNG, GIF ou JPG. 2Mo maximum. Sera réduit à 700x335px + header: Au format PNG, GIF ou JPG. 2 Mo maximum. Sera réduit à 700x335px locked: Vous devrez approuver chaque abonné⋅e et vos statuts ne s’afficheront qu’à vos abonné⋅es note: one: 1 caractère restant -- cgit From f63a40e7c2e3211758c321cdf9196d178c2930e0 Mon Sep 17 00:00:00 2001 From: spla Date: Sat, 14 Oct 2017 14:40:35 +0200 Subject: Updated Catalan strings (#5323) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add Catalan language * Add Catalan language * Update ca.json * Update ca.json * Update ca.json * Update ca.json * Update ca.json * Update ca.json * Update settings_helper.rb * Update mastodon.js * Update index.js * Update application.rb * Update ca.yml * removed extra spaces at line 225 * Catalan translation update added activerecord.ca.yml * Update activerecord.ca.yml Done * Updated activerecord.ca.yml * Catalan language updated * Catalan language updated * Catalan language updated * Catalan language updated * Catalan language updated * Update ca.json Removed : <<<<<<< HEAD "getting_started.support": "{faq} • {userguide} • {apps}", ======= >>>>>>> upstream/master * Syncing to master * Added new Catalan strings * removed config.secret_key line * Corrected tag to Line 515 * Removed extra line * Reverted * yarn.lock reverted * Updated Catalan strings * Updated Catalan strings --- app/javascript/mastodon/locales/ca.json | 103 +++++++++++++++++--------------- config/locales/ca.yml | 10 ++-- 2 files changed, 59 insertions(+), 54 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index b5051a32d..fe2433591 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -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" } diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 6a92b7f1b..1dc6c492b 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -357,11 +357,11 @@ ca: truncate: "…" push_notifications: favourite: - title: "%{name} favourited your status" + title: "%{name} ha afavorit el teu estat" follow: - title: "%{name} is now following you" + title: "%{name} ara et segueix" group: - title: "%{count} notifications" + title: "%{count} notificacions" mention: action_boost: Boost action_expand: Mostra més @@ -450,13 +450,13 @@ ca: description_html: Si habilites la autenticació de dos factors, et caldrà tenir el teu telèfon, que generarà tokens per a que puguis iniciar sessió. disable: Deshabilitarr enable: Habilitar - enabled: Two-factor authentication is enabled + enabled: Autenticació de dos factors activada enabled_success: Autenticació de dos factors activada amb èxit generate_recovery_codes: Generar codis de recuperació instructions_html: "Escaneja aquest codi QR desde Google Authenticator o una aplicació similar del teu telèfon. Desde ara, aquesta aplicació generarà tokens que tens que ingresar quan volguis iniciar sessió." lost_recovery_codes: Els codis de recuperació et permeten recuperar l'accés al teu compte si perds el telèfon. Si has perdut els teus codis de recuperació els pots regenerar aquí. Els codis de recuperació anteriors seran anul·lats. manual_instructions: 'Si no pots escanejar el codi QR code i necessites introduir-lo manualment, aquí tens el secret en text plà:' - recovery_codes: Backup recovery codes + recovery_codes: Codis de recuperació de còpia de seguretat recovery_codes_regenerated: Codis de recuperació regenerats amb èxit recovery_instructions_html: Si alguna vegada perds l'accéss al telèfon pots utilitzar un dels codis de recuperació a continuació per recuperar l'accés al teu compte. Cal mantenir els codis de recuperació en lloc segur, per exemple imprimint-los i guardar-los amb altres documents importants. setup: Establir -- cgit From ae716a12e1604a4df54acbc77ff35f591e3168e2 Mon Sep 17 00:00:00 2001 From: Ondřej Hruška Date: Sat, 14 Oct 2017 14:41:12 +0200 Subject: replace newlines in desktop notif with spaces instead of removing them (#5361) --- app/javascript/mastodon/actions/notifications.js | 1 + 1 file changed, 1 insertion(+) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/actions/notifications.js b/app/javascript/mastodon/actions/notifications.js index c7d248122..b24ac8b73 100644 --- a/app/javascript/mastodon/actions/notifications.js +++ b/app/javascript/mastodon/actions/notifications.js @@ -31,6 +31,7 @@ const fetchRelatedRelationships = (dispatch, notifications) => { const unescapeHTML = (html) => { const wrapper = document.createElement('div'); + html = html.replace(/
    |
    |\n/, ' '); wrapper.innerHTML = html; return wrapper.textContent; }; -- cgit From b3b4b5a2eb21e5be6d844f35d03cf5f8b87091ae Mon Sep 17 00:00:00 2001 From: Lynx Kotoura Date: Sat, 14 Oct 2017 21:48:12 +0900 Subject: Adjust public hashtag pages (#5357) --- app/javascript/styles/about.scss | 130 +++++++++++++++++++++------------------ app/views/tags/show.html.haml | 28 ++++++--- 2 files changed, 90 insertions(+), 68 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/styles/about.scss b/app/javascript/styles/about.scss index a15afc32c..358d86eec 100644 --- a/app/javascript/styles/about.scss +++ b/app/javascript/styles/about.scss @@ -704,7 +704,6 @@ .features #mastodon-timeline { height: 70vh; width: 100%; - min-width: 330px; margin-bottom: 50px; .column { @@ -718,85 +717,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; + + .cta { + margin: 20px 0; + } + } - .stripe { - display: none; + .features-list { + display: none; + } + } + } } } } - - .stripe { - width: 100%; - height: 360px; - overflow: hidden; - background: darken($ui-base-color, 4%); - position: absolute; - z-index: -1; - } } @keyframes floating { diff --git a/app/views/tags/show.html.haml b/app/views/tags/show.html.haml index 6266d3c0c..ea8b0faa3 100644 --- a/app/views/tags/show.html.haml +++ b/app/views/tags/show.html.haml @@ -7,29 +7,41 @@ = render 'og' .landing-page.tag-page - .stripe .features .container #mastodon-timeline{ data: { props: Oj.dump(default_props.merge(hashtag: @tag.name)) } } .about-mastodon - .brand - = link_to root_url do - = image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon' + .about-hashtag + .brand + = link_to root_url do + = image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon' - %p= t 'about.about_hashtag_html', hashtag: @tag.name + %p= t 'about.about_hashtag_html', hashtag: @tag.name - .cta - = link_to t('auth.login'), new_user_session_path, class: 'button button-secondary' - = link_to t('about.learn_more'), root_url, class: 'button button-alternative' + .cta + = link_to t('auth.login'), new_user_session_path, class: 'button button-secondary' + = link_to t('about.learn_more'), root_url, class: 'button button-alternative' .features-list + .features-list__row + .text + %h6= t 'about.features.real_conversation_title' + = t 'about.features.real_conversation_body' + .visual + = fa_icon 'fw comments' .features-list__row .text %h6= t 'about.features.not_a_product_title' = t 'about.features.not_a_product_body' .visual = fa_icon 'fw users' + .features-list__row + .text + %h6= t 'about.features.within_reach_title' + = t 'about.features.within_reach_body' + .visual + = fa_icon 'fw mobile' .features-list__row .text %h6= t 'about.features.humane_approach_title' -- cgit From 7fe1428cc4a099f12e95190b97880094bab9a807 Mon Sep 17 00:00:00 2001 From: Yannick A Date: Sun, 15 Oct 2017 14:21:05 +0200 Subject: Update French translation (#5401) --- app/javascript/mastodon/locales/fr.json | 2 +- config/locales/fr.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 54065c967..145b683f3 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -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", diff --git a/config/locales/fr.yml b/config/locales/fr.yml index f2d29038b..712724ffa 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -125,7 +125,7 @@ fr: copy_failed_msg: Impossible de faire une copie locale de cet émoji created_msg: Émoji créé avec succès ! delete: Supprimer - destroyed_msg: Emoji supprimé avec succès ! + destroyed_msg: Émoji supprimé avec succès ! disable: Désactiver disabled_msg: Émoji désactivé avec succès ! emoji: Émoji -- cgit From 8eb7d30a6c8b8a779180b983127991001920c9e7 Mon Sep 17 00:00:00 2001 From: JeanGauthier <32121978+JeanGauthier@users.noreply.github.com> Date: Sun, 15 Oct 2017 23:07:32 +0200 Subject: l10n Occitan: finishing touches (#5404) * Update oc.json * Update oc.yml --- app/javascript/mastodon/locales/oc.json | 2 +- config/locales/oc.yml | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 541a8eb68..4715f60ef 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -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.", diff --git a/config/locales/oc.yml b/config/locales/oc.yml index c6e9a3cdc..2d72d247f 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -66,9 +66,9 @@ oc: inbox_url: URL de recepcion ip: IP location: - all: Tot - local: Local - remote: Alonhat + all: Totes + local: Locals + remote: Alonhats title: Emplaçament media_attachments: Mèdias ajustats moderation: @@ -110,6 +110,7 @@ oc: unsubscribe: Se desabonar username: Nom d’utilizaire web: Web + account_moderation_notes: account: Moderator created_at: Data @@ -117,6 +118,7 @@ oc: created_msg: Nòta de moderacion ben creada ! delete: Suprimir destroyed_msg: Nòta de moderacion ben suprimida ! + custom_emojis: copied_msg: Còpia locale de l’emoji ben creada copy: Copiar @@ -339,8 +341,8 @@ oc: - dissabte formats: default: "%e/%m/%Y" - long: Lo %-d %b de %Y - short: "%e %B" + long: Lo %e %B de %Y + short: "%e %b. de %Y" month_names: - - de genièr -- cgit From 894da3dcca781e27ce9c5130f1021526ac8a6887 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 16 Oct 2017 03:03:36 +0200 Subject: Clear timer when unmounting RelativeTimestamp components (#5408) Possibly the cause of #5379, #5377 --- app/javascript/mastodon/components/relative_timestamp.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/javascript') diff --git a/app/javascript/mastodon/components/relative_timestamp.js b/app/javascript/mastodon/components/relative_timestamp.js index 534d83fac..51588e78c 100644 --- a/app/javascript/mastodon/components/relative_timestamp.js +++ b/app/javascript/mastodon/components/relative_timestamp.js @@ -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); -- cgit