Page MenuHomePhabricator

P + T Software Engineering Internship (Feb 2025-June 2025): Key takeaways by Toluwanimi Ayodele
Closed, ResolvedPublic

Description

The Product and Technology Software Engineering Internship program is a placement across Product and Technology department for an intensive "learn on the job" program. Interns are embedded on a team and are assigned projects and tasks to work on.

Interns usually work under the guidance of their manager, assigned mentors/buddies with monitoring of regular progress check in's and have fun learning opportunities, opportunities to learn and connect among other areas.

For this internship, @ToluAyo was embedded in the Language and Product Localization team beginning February 2025-June 2025. This ticket captures key internship takeaways including completed tickets.

Event Timeline

MaryMunyoki renamed this task from P + T Software Engineering Internship: Key takeaways by Toluwanimi Ayodele to P + T Software Engineering Internship (Feb 2025-June 2025): Key takeaways by Toluwanimi Ayodele.Jun 24 2025, 7:37 PM

img_3932.jpg (350×719 px, 39 KB)

Image; Language Community Meeting Internship experience share out by @ToluAyo, ( Minute 27:00 to 37:40 )

> Experience, skills and knowledge in programming languages and frameworks including Javascript, Vue and PHP through supporting translation needs

Javascript/Vue js; Application of skills in front development with programming languages including Javascript and Vuejs, making changes to the CX codebase files and formatting rules including Rebasing and Merge conflicts among other areas

PHP: Exploring PHP codebase within the Mediawiki core, context of most of the legacy code in Mediawiki software and expounding capabilities of making contributions to tools and extensions in PHP

> Experience, skills and knowledge in technical aspects of localisation including onboarding new languages and configuring namespaces and keyboards for newly added languages and configuration for messages

Adding New Languages; Context; MediaWiki is heavily multilingual and localized. Adding even more languages to it is a frequent activity . This is done in various contexts, and the procedures can be quite different, both from the technical and the community policies perspectives. New Language versions go through several stages before becoming wikis (reference).This process includes adding new languages (specifically to Language data, translatewiki, Mediawiki core when specifically asked by language speakers, usually on Translatewiki support page).

Keyboard support; Context; Writing on computers is done using a keyboard. It starts to get harder with languages that are not written in the Latin alphabet. A recurring issue among all the smaller language communities is that tools for supporting their language online are lacking; they have insufficient keyboards for typing in their own language.

Namespaces; Context; In Wikimedia projects, namespaces are used to separate different types of content, for example, article content (Main namespace), discussion pages (Talk namespace), and user pages (User namespace). MediaWiki comes with built-in core namespaces but also allows for custom namespaces, which are added as needed for particular projects or language wikis. Core namespaces are included in the MediaWiki configuration but need to be correctly translated in MessagesXX.php files for each language. Fixing or adding namespaces is an essential maintenance and support task that enables core namespace functionality in MediaWiki.

Messages: Context: There are more than 4000 translatable messages in the "MediaWiki core" group on translatewiki. This work considered splitting into manageable groups to support completion of translation of interface messages especially for newly onboarded languages

Key take aways

  • Knowledge; Gained foundational understanding of internationalization, localisation and translation and technical knowledge of Mediawiki codebase
  • Experience; Hands on experience with open source contributions and applying software engineering concepts to support the development of language wikis
  • Skills; Problem solving skills to brainstorm technical approaches, tools and methods to implement software needs including soft skills like collaboration, etc
MaryMunyoki changed the task status from Open to In Progress.Jun 24 2025, 10:29 PM
MaryMunyoki triaged this task as Medium priority.

The above mentioned work was possible thanks to the collective and collaborative efforts by mentors and colleagues in the Language and Product Localization , and welcoming additional reflections if any from other mentors and colleagues by Friday, June 27, 2025.