COSCUP x UbuCon Asia 2026 Logo
  • About
  • Session
  • Transportation
  • Venue
  • Communities
  • Sponsors
    • Participate Guide
    • First Timer
    • Activity
    • Speaker Participation
    • Welcome Party
    • For Overseas Visitors
    • Open Source Communities
    • Sponsorship Partners
    • Invitation Letter Guide
  • Staff
  • Fringe Events / BoF
  • Blog
  • CoC
中文

使用 CSS Logical Properties 讓你的 Web App 支援 RTL 版面 / Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine

Time
2026-08-09 10:40 ~ 11:10
Speaker
MAEDA Go
Room
TR410
Co-write
OSPN (Open Source People Network) Japan ElementaryMandarin

Abstract

Supporting right-to-left (RTL) languages such as Arabic and Hebrew remains an often overlooked challenge in web application internationalization. Unlike English and Chinese, which are written left to right (LTR), RTL languages require layouts and visual alignment throughout the user interface to be mirrored.

Redmine, a 20-year-old open source project management application, has supported RTL languages since 2010. Its RTL support was originally implemented using a separate RTL-specific stylesheet that overrode the main LTR styles, which was a common approach at the time. As the user interface evolved, maintaining two parallel stylesheets became increasingly difficult, and the RTL layout gradually became broken in many places.

In this talk, I will explain how I rebuilt Redmine's RTL support using CSS logical properties. By replacing physical properties such as margin-left and padding-right with logical properties, a single stylesheet can automatically adapt to both LTR and RTL layouts. I will discuss the migration process, practical implementation techniques, and lessons learned while modernizing an existing codebase.

Attendees will learn how existing LTR-only web applications can gain RTL support with a relatively small set of CSS changes. Through practical examples from Redmine, they will learn concrete techniques for implementing maintainable RTL support using CSS logical properties. Although the examples come from Redmine, the approach is applicable to many web applications looking to add maintainable RTL support.

Speaker

MAEDA Go

MAEDA Go

MAEDA Go (前田剛) is a Redmine committer and long-time contributor from Japan.

He has been using Redmine since 2007 and founded Redmine.JP, one of the largest Japanese information websites for Redmine. He has also contributed to the Redmine community through books and technical articles about Redmine.

He became a Redmine committer in 2017 and continues to contribute to the project and its community.

Diamond

Canonical

Gold

Consecutive2 YrsInformation Management AssociationConsecutive2 YrsCathay Financial HoldingsConsecutive5 YrsE.SUN BankCumulative12 YrsMySQLCumulative6 YrsBerry AINitra

Silver

Cumulative16 YrsGamesofa Inc.

Bronze

KKTIXNational Center for High-performance ComputingONLYOFFICEQNAP Systems, Inc.Consecutive16 YrsThe Archilife Research FoundationSUN SQUARE Co., Ltd

Friend

Consecutive3 YrsAndes Technology CorporationAppier

Special Thanks

Consecutive2 YrsDepartment of Information Technology, Taipei City GovernmentSiFiveRozeta AI

Co-host

Collaborator9 YrsNTUST - Department of Electronic and Computer Engineering

Co-organizer

Collaborator12 YrsOpen Culture Foundation

COSCUP x UbuCon Asia 2026

Conference for Open Source Coders, Users, and Promoters | Asia's largest open source community conference.

Contact

  • Attendee Services
  • Sponsorship
  • Call for Proposals
  • Marketing

Resources

  • COSCUP Blog
  • Newsletter Subscription
  • Event Photos

Sitemap

  • Home
  • About
  • Transportation
20062007200820092010201120122013201420152016201720182019202020212022202320242025