#SidnetDonations: Piotr for Homebrew and Oncorun – Together for health!

For the Sidnet team, one of the negative consequences of the pandemic is a temporary suspension of the Tuesday board game sessions that used to take place in Warsaw. Until recently, Piotr Zieliński – our Full-Stack Developer – was a regular participant in these meetings. However Piotr is not only an avid fan of board games but also a skilled programmer, one who quickly finds himself at home in any new project. Piotr has recently joined the team responsible for our ongoing cooperation with THG (the owner company of the UK2 brand), one of our long-term customers.

What open-source and charity projects will we be supporting in May, based on our programmer’s wishes?

Homebrew

Homebrew is the most popular package manager for macOS. It is the missing link that connects open-source software to Apple’s operating system. It allows users to easily install open-source programs on a Mac, such as software commonly used on Linux. Homebrew is written in Ruby and supports the default version of Ruby that comes with macOS. Piotr uses Homebrew to install and use developer software.

“Thanks to Homebrew, I have everything I need in one place. Installing, updating, package search – every operation can be carried out efficiently via the terminal. The tool also allows you to have different versions of the same package installed at the same time and to switch between them at will. In addition, applications are installed without having to use the sudo command, so there’s no need to modify any base system files, including system files,” said Piotr.

The project has been developed by volunteer programmers since 2009. It is part of the Software Freedom Conservancy, which includes other open-source projects like Git, Debian and Selenium.

Oncorun – Together for health!

Oncorun is the oldest oncology-themed charity running event in Poland. It has been organized by the Sarcoma Association since 2008. Their goal it to support oncological patients both financially and psychologically.

Since Piotr was involved in the development of the Oncorun website, he is intricately familiar with this project. He has recently added such features as support for multiple language versions and online training registration. In addition, he represented Sidnet twice during Oncorun events in Warsaw.

“Though the entire world’s efforts are focused on fighting the pandemic, my thoughts are with the patients of the Sarcoma Association. Not only do they have to their condition, but now also suffer due to their reduced immunity to the coronavirus and difficulties in accessing medical assistance,” he explained.

During the COVID-19 pandemic, the Oncorun organizers have been donating personal protective equipment to hospitals. Additionally, they continue to raise funds for medicine, treatment and clinical visits for the most vulnerable oncological patients.

#SidnetDonations: Łukasz for the Mozilla Foundation and the St. Brother Albert’s Aid Society

The nationwide quarantine has not reduced Sidnet’s effectiveness in any way. After all, we have been honing our remote working skills for the last 15 years. Apart from our office being empty, all meetings taking place online and the creation of a separate channel named “Coronavirus” for our company chat, our lives have not changed much.

Today, as on every 15th of the month, we will be donating money to selected open-source and charity projects. This time the choices are being made by Łukasz Leszczyński, our Perl and JavaScript programmer, who lives and works in Rzeszów.

Mozilla Foundation

The Mozilla Foundation is a non-profit organization that strives for an open, “healthy” and accessible Internet. They are also the publisher of the annual Internet Health Report, as well as such well-known open-source solutions as the Firefox browser and the Thunderbird email program.

“The very thought of spreading ideas and taking concrete actions to help build a better Internet is very close to my heart. Sharing knowledge, critical thinking, social utility and respect for privacy are all inseparable parts of the Mozilla Foundation’s DNA,” says our developer.

These values are evident in the Foundation’s most recent publications concerning the challenges faced by creators and other Internet users during the coronavirus pandemic.

Examples?

St. Brother Albert’s Aid Society

The first Polish NGO with the goal of helping the poor and the homeless. It has been operating for nearly 40 years, and currently provides housing for 3,500 people in need. The society runs dozens of homeless shelters, club rooms, kitchens, and free bathhouses.

“I think it is very important to reach out to people who need help. This holds especially true in times when indifference to the problems and the suffering of others – the elderly, people who are lonely or who find themselves in a difficult life situation – is practically commonplace,” says Łukasz to further explain his choice.

The society accepts not only financial help, but also donations of food, clothing, footwear, medicine, cleaning products and other items that may help the people under its care.

#SidnetDonations: Michał for PostgreSQL and the “Futrzaki” Foundation

As we celebrate Internet Domain Day, we wish to support what made the Internet the way it is – databases and kittens. The man responsible for choosing the open-source and charity projects that we will be supporting this month is not just the mastermind of #SidnetDonations, but Sidnet overall.

Michał Wojciechowski has been managing our software house for 15 years. Throughout this time, he has participated in over 200 programming projects and more than 20 half-marathons – and he has also tried to stop his cats from meowing in the background during team teleconferences countless of times… 😉

Read on to find out more about Michał’s choices.

PostgreSQL

PostgreSQL is an open-source database management system. Apart from MySQL and SQLite, it is one of the most popular free solutions of this type. It is used by such companies as Skype, Instagram, TripAdvisor and The Guardian.

More than 500 volunteer creators are actively involved in working on PostgreSQL and they have been developing the project for over 30 (!) years. The result is an efficient, feature-rich and standards-compliant program, which includes more than a million lines of code and is fully owned by the community that designed it.

“Many people claim that PostgreSQL is a worthy competitor to Oracle – a commercial solution. We have used PostgreSQL in a number of projects, including a few web applications built for the Iconaris marketing agency. It also serves as a database for some of the tools we use internally, such as GitLab”, said Sidnet’s founder.

“Futrzaki” Foundation

The foundation was established in 2015 by a group of volunteers who strive to improve animal welfare. They often help stray cats and dogs, some of which are mutilated. They collect donations, organize adoptions and constantly promote having the right attitude towards animals.

“Thanks to the ‘Futrzaki’ foundation, I now have a new cat in my apartment – Lotka. The foundation volunteers put a lot of effort into finding people who are responsible owners and offer really good homes to animals. For example, the condition for adopting Lotka in the first place was to secure my balcony with a protective mesh”, said Michał.

Before they find a new home, many cats (including Lotka) are brought to the Bajka temporary shelter.

“I visited the place two times, once to familiarize myself with Lotka and then and finalize the adoption process. The temporary shelter is run by great people, who truly love animals”, said Michał.

#SidnetDonations: Wojciech for Linux Mint and the Znajdki Foundation

Calm, modest and a man of few words – Wojciech is certainly one of the most inconspicuous members of the Sidnet team. Yet, he also happens to be an effective Senior Full-Stack Developer, responsible for the continued development of the Fooder web and mobile application. Wojciech Wąsik excels in helping us achieve any business goals set by the app’s client (ZT Kruszwica S.A.), as well as the Iconaris marketing agency, which has been collaborating with us for 12 years now. Not to mention that he always beats us in poker, quiz games and Hero Realms at team meetups.

See which open-source and charity projects we will be supporting this month per Wojtek’s request.

Linux Mint

Linux Mint is an open-source operating system based on Ubuntu/Debian. Since it is not at all inferior to Windows in terms of ease of use, it is especially popular among novice Linux users. Compared to other Linux distributions, its characteristic features are the modern design and improved compatibility with software that is not 100% open-source. For example, it allows users to play audio/video files both in the system media player and the web browser immediately upon installation.

“I replaced Windows with Mint both at home and at work. Not only is Mint faster, but it is also free. It was an easy choice” – said Wojtek.

The creators of Linux Mint provide information on what they plan to do with the funds collected. They use voluntary donations to finance hosting, advertising, software distribution, equipment purchases, and the work of the people involved in the project.

Znajdki Foundation

The foundation strives to combat violence against animals and animal homelessness. Their workers take dogs and cats away from irresponsible owners and look after injured, abandoned animals. The foundation actively participates in events such as Warszawski Dzień Zwierząt (“Warsaw Animal Day”) and Bieg Chomika (“Hamster Charity Run”).

“The foundation’s volunteers encourage everyone to support their work in any way they can, depending on individual possibilities. Apart from obvious ways of providing support, such as donating money or creating a temporary shelter, the foundation is always eager to accept any help at all” – said our developer.

How you can help the animal shelter:

  • Donating any spare cleaning products, such as mops, brushes, washing powders and cleaning agents.
  • Help in publishing announcements on adoption websites.
  • Taking photos of the animals. Photos help pets find new homes or virtual caretakers.
  • Playing with the dogs at the shelter and taking them out on walks.

How to make your website multilingual. Case study part 3: A checklist

E-mails, forms, payment process steps… When making your website multilingual, make sure all the bits and pieces are translated. Use a checklist that we created, based on a recent project we completed partially pro bono as a Christmas gift for Sarcoma Association.

When translating a website, don’t forget about the contents of emails and attached files.

Step 3. Make sure there are no missing parts in your translations (a checklist)

Before adding another language to your website, check out our list of elements which need to be translated or which necessitate website alterations. On an example of a real implementation in the Onkobieg (Oncorun) registration website (still in the testing phase).

1) Text in graphical elements, photos and images.

Certain template elements can contain images with text in a given language. A solution to this problem is to add separate language versions of such images.

In the case of Onkobieg, however, we chose to adjust the website template (where possible and justified) to ensure that text content and images are separate.

Visual elements that highlights the date of the next edition of Onkobieg.

2) Interactive prompts.

Not all text content is available immediately upon entering a website, such as the content of subpages available from the menu or blog articles. Remember to translate all interactive elements: form validation, error messages and notifications.

The Onkobieg website contained several hundred prompts with information for users which needed to be translated.

3) External service integration (e.g. payment processing, YouTube website).

If the service provider’s system allows it, it is worth relaying information regarding the language version chosen by the user.

To make this possible, a single variable had to be added to the PayU integration code – ‘language’. As a result, a sudden change of language after being redirected to the PayU website will not prevent the user from making their payment.

Donation screen for English-speaking visitors of the Onkobieg site.

The home page of Oncorun website includes a YouTube video. We needed to make sure the language of the video player interface matched the current language version of the site. In order to do that, we added the “hl” parameter (namely, “?hl=en”) to the URL of the video shown on the English version.

YouTube video player shown in the language selected by the user.

4) Automated emails.

Remember to make sure that your users receive system messages in the same language in which they browsed your site. In order to do this, add information about the version used to the user’s session. Another possible solution is to save language preferences in user settings.

Translated text and attachments of a confirmation e-mail, sent upon registering for Onkobieg (Oncorun).

5) Number, currency, date and time formats.

Take into account differences in units of measurement and formats used in different countries. Establish how these elements will be displayed in the target language version of your website and be consistent. Examples?

  • Date format: DD.MM.YYYY vs. MM/DD/YYYY
  • Time format: 13:00 vs. 1:00 p.m.
  • Distance units: 1.609 kilometers vs. 1 mile
  • Currency: zł vs. PLN
Different currency formats: “zł” in Polish version, “PLN” in English version.

6) Different text length.

The same words and sentences can take up more or less space compared to the source when translated into a different language. Adjust your website template so that the content is displayed correctly in all language versions: avoid clipping, text extending outside button borders, etc.

Variable length of the slogan and button caption in different language versions.

7) Declension.

Take into account the types of declension present in the target language. Some words may have to be different depending on the number of errors detected by the system, for example: “To proceed, correct 1 error / 2 errors / 5 errors” (in Polish: “By przejść dalej, popraw 1 błąd / 2 błędy / 5 błędów”).

8) UTF-8 character encoding.

Use the UTF-8 encoding system (8-bit Unicode Transformation Format). It is widely supported by browsers and makes language-specific characters display correctly for users of different nationalities.

9) Language version switch.

The language button should be clearly visible – place it in an intuitive location such as the site header or main menu. Make sure that it remembers which language is chosen.

 Language switcher displayed in the header of Onkobieg website.

As a result of the changes, a growing number of Onkobieg (Oncorun) attendees from outside Poland will be able to register for the race in English. Thanks to our solution, the organizer will easily add new language versions at any time.

“A partner this involved is difficult to find. The majority of the translation was done free of charge as a Christmas present for the Association. We are very grateful for that!”

Szymon Bubiłek
Board Member, Sarcoma Association

How to make your website multilingual. Case study part 2: Common issues

Having chosen the right approach to implement multiple languages on your website, you should expect some challenges before you get everything working. Get prepared for a few common issues.

Learn what solutions we developed to resolve those common problems while working on a recent project, completed partially pro bono as a Christmas gift for Sarcoma Association.

Jak dodać wielojęzyczność na stronie. Częste problemy. Na przykładzie serwisu rejestracji na Onkobieg.
Translated consent clauses shown in the Onkobieg (Oncorun) registration process. English version is still in the testing phase.

This mini-series of articles outlines:

  1. How to select the appropriate method of adding support for multiple languages to your website.
  2. What common difficulties you may expect when going multilingual (below).
  3. Key things to keep in mind when translating a website.

Step 2. Keep an eye out for common issues plaguing multilingual websites

Use already existing solutions for common problems. Learn how we overcame the issues we encountered when translating the Onkobieg (Oncorun) website.

Functions shared by the entire system

Problem:

Certain system functions may be shared and not assigned to particular language versions.

User login form, shared between all language versions.

In the case of the Onkobieg website, the login form was such a shared function – it was available in a modal window which redirected the user to the main page after logging in. This solution was sufficient for a single-language website, but a website translated into different languages requires more context – information on the language version used by the visitor.

Solution:

Website language version info was added to the user’s session.

Content hard-coded in the site template

Problem:

Certain elements (e.g. website footer) can be hard-coded (fixed) in the template code. Implementing different language versions necessitates the transfer of such content to the CMS or language files.

The Oncobieg website footer. Links and images are hard-coded in the website template.

The complexity of the HTML code used by the Onkobieg website made it impossible to manage content via the CMS or a WYSIWYG editor. Such attempts could scramble the HTML code structure.

On the other hand, the website code contained links, for example. This is why it should not be copied to different language files.

Solution:

We rebuilt the problematic part. We rewrote the CSS rules, simplifying the HTML code so that it can be edited in the CMS.

Consent forms (e.g. GDPR)

Problem:

Some websites have advanced clause management systems.

For example, in order to participate in Onkobieg, you need to accept among others: the race terms and conditions, PayU terms of service and the privacy policy.

Examples of consent clauses used in the Oncobieg registration process.

Giving consent in one language should be equivalent to accepting the content of the translation. We decided to add some safety measures to protect our client should two translations of the same consent form differ from each other – for example when an updated version of the English clause is already in force, but its Polish version has not yet been uploaded.

Solution:

At this time, the clauses on the Onkobieg website are not grouped together. This means that accepting a clause in one language is not equivalent to accepting its translation.


As a result of the changes, a growing number of Onkobieg (Oncorun) attendees from outside Poland will be able to register for the race in English. Thanks to our solution, the organizer will easily add new language versions at any time.

“A partner this involved is difficult to find. The majority of the translation was done free of charge as a Christmas present for the Association. We are very grateful for that!”

Szymon Bubiłek
Board Member, Sarcoma Association