Friendly Errors i18n Book ✎
Friendly Errors i18n Book project is a part of the internationalization effort on the p5.js, Friendly Errors System (FES). We welcome anyone who wants to contribute a translation or improve the experience of FES. We also want to invite people interested in accessibility and software internationalization issues in general.
We are FES Korean translation team, who gathered in 2021-2022 to co-translate the p5js library's Friendly Error messages into Korean. What started as a co-translation project quickly led to discussions about software internationalization issues and challenges. We wanted to talk about the experience of the software internationalization process as someone from a destination culture (as opposed to an English-speaking culture where the technology originated).
The following six "guides" and an interview do not try to propose a unified standard for the internationalization process. Instead, each would be an example of how one from a non-English culture would approach the internationalization of accessible design and community-based software — From people who would welcome, learn, follow, extend, fear, adopt, doubt, hack, reframe, critique, and cherish open-source software. Our effort came nowhere close to fully representing the whole, diverse experience of non-English culture. Still, we wished to capture our own experience and create a starting ground.
0. Dear contributor who wants to translate Friendly Errors,
What does the expression "Friendly" mean to those who are just starting to translate? “Friendliness,” a core virtue of user-friendly design, can be implemented in various forms depending on social and relational contexts and individual circumstances.
- Friendly? 🤔 Deconstructing “Friendly”
- What renders the translation "Friendly"?
- For whom are we translating friendly error messages?
1. Before You Define Your Audience
What is the problem with simplifying the recipient of Friendly Errors to "beginners"? We need to cultivate a caring attitude that will reduce the possible chance of alienating, objectifying, or otherizing people who would benefit from the Friendly Errors system.
2. echoes of ethos, voice of machine?
Just as members of an organization act in the light of their organization's ideology, can the persona of software also reflect the direction and philosophy of those who make it?
3. Translating Technical Terms
What challenges do non-English language translators face in translating technical terms? Two possible ways of translating technical terms into Korean are discussed, and related issues are examined.
- Phonetic translation-a way to refer to accurate information
- Semantic translation-a way to lower the language barrier
- Be aware of nominalization issues and ensure consistency
4. Pledge among translators
There are distinct grammatical differences between English and Korean. We have summarized examples of common English-to-Korean translation errors that are often made.
- Helpful tools for translation (with some grain of salt)
- Dilemmas encountered during translation
- Deciding sentence ending, which determines the overall tone
- Unifying the origin of words in a sentence (native word, Sino-Korean word, loanword)
- Minimizing "awkward" expressions while best preserving the original meaning
- Finding correct postposition
- Glossary
- Translator's ✨ Intervention
5. machine translation/ swarming in between.
If translation connects two different cultures divided by language barrier, can error messages also be translations that connect machines and humans? We will consider where the error messages reside and what error message translation might connect.
- error messages, in between
- generatable messages
- searchable messages
- symbiosis with existing information
- i18n for creating new opportunities
+ Challenges in Open Source Software Translation
An interview with Kenneth Lim, the steward of the p5js core library and website. Kenneth shared how the translation project of the p5js website and technical documentation started and his experience in translating and maintaining open-source software.