<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-03-28T12:48:44Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by Dæmon S.</title>
  <author>
    <name>Dæmon S.</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1625gyp5xqe2swv5py0xguceunv0k96nhf8hsxn2qtpx40ghnmuksxgpaw4.rss" />
  <link href="https://yabu.me/npub1625gyp5xqe2swv5py0xguceunv0k96nhf8hsxn2qtpx40ghnmuksxgpaw4" />
  <id>https://yabu.me/npub1625gyp5xqe2swv5py0xguceunv0k96nhf8hsxn2qtpx40ghnmuksxgpaw4</id>
  <icon>https://s3.eu-central-2.wasabisys.com/calckeyworld/256ed753-1da5-4169-b1f7-0a7271dd54df.webp</icon>
  <logo>https://s3.eu-central-2.wasabisys.com/calckeyworld/256ed753-1da5-4169-b1f7-0a7271dd54df.webp</logo>




  <entry>
    <id>https://yabu.me/nevent1qqs0s20jc9m5gdj6wfjcvjm8y5uju3cr48q74lu5wcvh63fpsg39gnqzyrf23qsxscr92pejsy3uernr8jd37ch2way77q6dgpvy64az700j65kzjx8</id>
    
      <title type="html">Trazendo uma sugestão/ideia como outsider: embora nunca cheguei ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0s20jc9m5gdj6wfjcvjm8y5uju3cr48q74lu5wcvh63fpsg39gnqzyrf23qsxscr92pejsy3uernr8jd37ch2way77q6dgpvy64az700j65kzjx8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr9yezus6n44gseycvm37tcjpjhhheyppxllp2cq3ma53vk4zy6csaxsvev&#39;&gt;nevent1q…svev&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Trazendo uma sugestão/ideia como outsider: embora nunca cheguei a desenvolver i8n nas plataformas que já lidei em full-stack, o que eu já vi em projetos no Github é que a capacidade de um sistema de lidar com vários idiomas diferentes depende de um mapeamento de símbolos/chaves para uma string de um dicionário de chaves-valores específicos, ao invés da string hardcoded no código-fonte. Isso é algo tanto de front-end quanto de back-end (porque o back-end pode e muitas vezes vai mandar mensagens formatadas para serem exibidas ipsis literis no front-end).&lt;br/&gt;&lt;br/&gt;Daí, por exemplo, num código de template do front, ao invés de (vou exemplificar usando sintaxe JSX do react):&lt;br/&gt;&lt;br/&gt;```jsx&lt;br/&gt;&amp;lt;ModalComponent title=&amp;#34;Adicionar habilidade profissional&amp;#34;&amp;gt;...&amp;lt;/ModalComponent&amp;gt;&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;Seria algo como:&lt;br/&gt;```jsx&lt;br/&gt;&amp;lt;ModalComponent @title=curri8n.title_add_skill&amp;gt;...&amp;lt;/ModalComponent&amp;gt;&lt;br/&gt;```&lt;br/&gt;No back-end, ao invés de (vou exemplificar usando express.js porque não conheço o fastapi):&lt;br/&gt;&lt;br/&gt;```mjs&lt;br/&gt;if(!req.body)&lt;br/&gt;  res.status(400).json({error: &amp;#34;Preencha as informações a serem adicionadas!&amp;#34;})&lt;br/&gt;```&lt;br/&gt;Seria:&lt;br/&gt;```mjs&lt;br/&gt;if(!req.body)&lt;br/&gt;  res.status(400).json({error: curri8n.err_missing_info})&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;E em um arquivo de dicionário (JSON, YAML, até mesmo um XML ou INI) com nome, por exemplo, &amp;#34;pt-br&amp;#34;:&lt;br/&gt;&lt;br/&gt;```json&lt;br/&gt;{&lt;br/&gt;&amp;#34;title_add_skill&amp;#34;: &amp;#34;Adicionar habilidade profissional&amp;#34;,&lt;br/&gt;&amp;#34;err_missing_info&amp;#34;: &amp;#34;Preencha as informações a serem adicionadas!&amp;#34;,&lt;br/&gt;...&lt;br/&gt;}&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;Noutro, &amp;#34;en-us&amp;#34;:&lt;br/&gt;```json&lt;br/&gt;{&lt;br/&gt;&amp;#34;title_add_skill&amp;#34;: &amp;#34;Add professional skill&amp;#34;,&lt;br/&gt;&amp;#34;err_missing_info&amp;#34;: &amp;#34;Fill the information to be added!&amp;#34;,&lt;br/&gt;...&lt;br/&gt;}&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;Os dicionários podem ser separados ou juntos para front e back, os dicionários podem até mesmo vir do banco de dados (embora seja necessário um fallback de mensagem de erro no caso de falha na conexão com o banco). &lt;br/&gt;&lt;br/&gt;Linguagens podem ser adicionadas adicionando-se novos arquivos. Nomes dos dicionários geralmente seguem a ISO de duas letras pro idioma, às vezes seguidas de um underline/hífen e mais duas letras pra um país (e.g. en_us, en_ca, pt_br, pt_pt). &lt;br/&gt;&lt;br/&gt;Os nomes das chaves (e.g. `title_add_skill`) não precisam ser necessariamente em inglês, pode ser em português (e as linguagens, incluindo Python e JS, principalmente o JS, aceitam perfeitamente coisas como `let tradução = &amp;#34;Olá&amp;#34;`) mas demanda uma documentação rica e multilingue para que possíveis colaboradores não-lusófonos possam entender no futuro.&lt;br/&gt;&lt;br/&gt;Adicionar um i8n num projeto já desenvolvido e consolidado na prod. até é possível, mas requer muitas vezes (principalmente projetos com muitos templates e módulos e componentes) refatoração e branching git que não seriam necessárias se o i8n já vier de nascença num projeto.
    </content>
    <updated>2025-10-01T00:26:23Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvq3h0lf5spez5xvkv4f79atf9ncuw6kcwdqvysxnlr35h4lg667czyrf23qsxscr92pejsy3uernr8jd37ch2way77q6dgpvy64az700j65fssfh</id>
    
      <title type="html">Excelente projeto! Não sei se vocês têm intenção de o ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvq3h0lf5spez5xvkv4f79atf9ncuw6kcwdqvysxnlr35h4lg667czyrf23qsxscr92pejsy3uernr8jd37ch2way77q6dgpvy64az700j65fssfh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf7e7jdkj6xa4qzdrqts0muyp3xsccupccq9yn6sg7tqu2tz2lkaqu7mn7c&#39;&gt;nevent1q…mn7c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Excelente projeto!&lt;br/&gt;&lt;br/&gt;Não sei se vocês têm intenção de o projeto ser multilingue logo de início, mas compartilhei uma tradução (feita por mim mesmo) da postagem para English (porque já vi galera de fora perguntando alternativas federadas ao LinkedIn).&lt;br/&gt;&lt;br/&gt;Post traduzido que fiz: &lt;a href=&#34;https://calckey.world/notes/adahu5piny&#34;&gt;https://calckey.world/notes/adahu5piny&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Qualquer coisa me digam que apago meu post e compartilho a postagem original em português apenas. Por enquanto só compartilhei pelo Calckey que é a plataforma que geralmente uso, mas se autorizado, daí eu coloco hashtags relacionadas ao fediverso e compartilho lá no Mastodon também onde há um alcance maior (embora meu perfil não seja lá de amplo alcance)
    </content>
    <updated>2025-09-30T19:18:14Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsruy3zmuch3zfjd7nhlq4rf238sg3x83jj887l4k0mmpg4lre9uggzyrf23qsxscr92pejsy3uernr8jd37ch2way77q6dgpvy64az700j6nr4n4r</id>
    
      <title type="html">English version of the post (I&amp;#39;m not affiliated to the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsruy3zmuch3zfjd7nhlq4rf238sg3x83jj887l4k0mmpg4lre9uggzyrf23qsxscr92pejsy3uernr8jd37ch2way77q6dgpvy64az700j6nr4n4r" />
    <content type="html">
      English version of the post (I&amp;#39;m not affiliated to the project, just sharing it to the anglophone Fediverse):&lt;br/&gt;&lt;br/&gt;&amp;#34;Hey, we&amp;#39;re starting an open-source project called vitae. The idea is for it to be your resume, online, in the Fediverse.&lt;br/&gt;&lt;br/&gt;It&amp;#39;ll be a LinkedIn-like, federated platform, focused on the professional person and the human being behind it.&lt;br/&gt;&lt;br/&gt;It won&amp;#39;t have a timeline with quantum coaching (we already have Mastodon for that), and the changes to the resume may or may not appear on your TL, depending on what the user wants to be shown.&lt;br/&gt;&lt;br/&gt;The backend relies on Python &#43; fastapi. The developer pulling the backend requirements and architecture is @riverfount@bolha.us.&lt;br/&gt;&lt;br/&gt;The frontend will have the best and more modern features from JS/Demo. The developer pulling the frontend requirements and architecture is @jedi@bolha.us.&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1e4qrsvpc85wfx0cxtfvte74hhv0s5zjf058ktqtjzl80x3kmxysscd7cq6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;/mastodon/gutocarvalho :bolha:&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1e4q…7cq6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; is taking care of the infrastructure.&lt;br/&gt;&lt;br/&gt;Boost please.&amp;#34;&lt;br/&gt;&lt;br/&gt;(the original post also included links to a Portuguese chatroom which I decided not to translate in this English version because it&amp;#39;s a Portuguese-speaking room; if you&amp;#39;re a Portuguese speaker and you&amp;#39;re interested in participating, check the original post on bolha.us: &lt;a href=&#34;https://bolha.us/@gutocarvalho/115287438457745882&#34;&gt;https://bolha.us/@gutocarvalho/115287438457745882&lt;/a&gt;)&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/note1nanaymd95dm2qy6xqhqlhcgrzdp33cr3sq2f84q3ukpc5ky4ld6qj2d9ye&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;note1nan…d9ye&lt;/a&gt;&lt;/span&gt;&lt;br/&gt; &lt;/div&gt; Pessoal,&lt;br/&gt;&lt;br/&gt;Estamos iniciando um projeto open source chamado vitae, a ideia é ser o seu curriculo vitae, online, do pessoa usuária do fediverso.&lt;br/&gt;&lt;br/&gt;Tipo aquela treva do linkdisney, mas federado, pensando no profissional, de forma humana – e nao nas empresas e recrutamento. Vai ser sem timeline (pq já temos o mastodon né) e com muitas outras coisas bacanas que estamos pensando.&lt;br/&gt;&lt;br/&gt;O Backend vai ser PYTHON com FASTAPI e quem tá puxando os requisitos e arquitetura é o Dr. &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1x89qs3eshx8wr2nk7fy0jsrljxfz8w88rd09mcqxymrthwkxu2fss6xe0k&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Riverfount :python: :linux:&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1x89…xe0k&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;.&lt;br/&gt;&lt;br/&gt;O Frontend vai ter o melhor e mais moderno do JS/Deno, quem tá puxando os requisitos é o senhor &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1wry8l6ktgfhnkujzw6jq26gk5xeywtny2h4ferxjk59shv6t43gq6af94s&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Thiago, the one they call Jedi&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1wry…f94s&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;.&lt;br/&gt;&lt;br/&gt;Quer entrar e ajuar a criar essa maravilha, só vem ;)&lt;br/&gt;&lt;br/&gt;Tem pra todo mundo!&lt;br/&gt;&lt;br/&gt;Estamos nos organizando o role via &lt;a href=&#34;https://mattermost.bolha.chat&#34;&gt;https://mattermost.bolha.chat&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Aqui o convite para entrar!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://mattermost.bolha.chat/signup_user_complete/?id=w543hb3aypgyfjy8eh9x9da8oc&amp;md=link&amp;sbr=fa&#34;&gt;https://mattermost.bolha.chat/signup_user_complete/?id=w543hb3aypgyfjy8eh9x9da8oc&amp;md=link&amp;sbr=fa&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Canal #vitae &lt;br/&gt;&lt;br/&gt;cc &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1szvmwz5prus0d5z77dnr5qyv94l0g0ce7trphdrl96nsgwgu24xq94n8de&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Eduardo Mendes&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1szv…n8de&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; , se puder repassar pros seus alunos, um grande chance de participar de um projeto open source do zero!&lt;br/&gt;&lt;br/&gt;cc &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1cxfu9mmj6husmsll07t6a5je68zwnp8uhum0du236lw8hvkmmcksrwhjn5&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Ax=b&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1cxf…hjn5&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;cc &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1q43ctdlrpqx3hkwjg8k7xwnm23ftmewlyyfr7r8gm0susrxq0n6sdyevaf&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Érico Andrei 🇧🇷 :plone:&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1q43…evaf&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;Pythonistas, espalhem!&lt;br/&gt;&lt;br/&gt;JSistas, espalhem!&lt;br/&gt;&lt;br/&gt;BOOST PLS &lt;/blockquote&gt;
    </content>
    <updated>2025-09-30T19:07:13Z</updated>
  </entry>

</feed>