Introducing Streamlit to the Polish Python community

Cześć miłośnicy Pythona! Hello, Python lovers! 👋

I'm Michał Nowotka, an engineering manager on the Streamlit team at Snowflake. Today I'd like to share with you an amazing adventure of promoting Streamlit to the Polish Python community. It started with creating a Polish translation of the 30 Days of Streamlit challenge and was followed by a talk at PyWaw, a popular Python enthusiast meetup in Warsaw.

What motivated me

Although English is a truly international language and a lingua franca for all professional fields, such as software development and machine learning, there are still advantages to investing time in translating content into a less widespread language.

I found three reasons to move forward with the Polish translation.

Reason 1. Many people still find it faster and more convenient to familiarize themselves with new technologies by reading about them in their native language, allowing them to focus on the technical complexities rather than the linguistic nuances.

Reason 2. Many people don't know a foreign language at the beginning of their programming adventure. I teach Python at some of the most popular Polish bootcamps and have experienced this firsthand. This is also true for some Polish kids who are enthusiastic about programming but often aren't fluent in English.

Reason 3. The 30 Days of Streamlit challenge has already been translated into seven languages! They include:

So, following the words of the famous Polish Renaissance poet Mikołaj Rej…

A niechaj narodowie wżdy postronni znają, iż Polacy nie gęsi, iż swój język mają. Let it by all and sundry foreign nations be known that Poles speak not Anserine but a tongue of their own.

…I decided that the Polish community couldn't miss this opportunity and should have its own translation.

How the translation process works

Creating a new language version of the #30DaysOfStreamlit is a multi-step process. Roughly, you need to follow these six steps:

  1. Fork the original repository
  2. Translate the Markdown files, including the comments and the strings in the code snippets
  3. Translate some labels in the app's UI elements
  4. Translate additional assets like CSV file headers
  5. Run the app locally to see if it works, check for any untranslated strings, and do a final proofreading
  6. Publish the repository and deploy the app

Many computer-assisted translation tools can speed up the process considerably. However, some customization is required to make the content feel natural.

I found the process a little too involved and tedious. I'd love to brainstorm how we can offer better support for translation and internationalization—let me know in the comments below. And feel free to translate the 30 Days of Streamlit into your language if you don't see it on the list above!

My presentation at PyWaW #103

Although I have some experience with public speaking, having given a talk on consistent and locality-sensitive hashing techniques at PyWaW #77, I was a little nervous. Especially since I decided to do a live demo instead of using slides. But everything went smoothly, and the presentation generated a lot of interest, so I spent the rest of the evening talking about Streamlit over a beer. 🍺

You can watch it here:

And you can see the demo at stonks.streamlit.app (we chose that name together with the meetup attendees). You can get the code used to build the demo from this gist. My demo was heavily inspired by Chanin Nantasenamat's (@Data Professor) Streamlit video tutorial.

We're hiring!

Thanks for reading my post! I hope you enjoyed it. And if you're located in Warsaw, have 6+ years of software development experience, and are proficient in Python and/or TypeScript, come join my team. I'm looking for a Senior Software Engineer to help take Streamlit to the next level as a Technical Lead in our Snowflake's Warsaw office. You can apply here. 🙂

Happy Streamlit-ing! 🎈