LOCALE:...YDOC.3PM(1)

πŸ’– NAME πŸ’–

Locale::Po4a::RubyDoc β€” the little icon that converts Ruby Document data from/to PO files ✨

okay so quick vibe check first: this page is like, the manual for it, and the manual name is LOCALE:...YDOC.3PM(1) β€” that's the header, bestie, I folded it in here so it doesn't just sit there looking awkward πŸŽ€


🌸 DESCRIPTION 🌸

So the whole po4a (that's PO for anything, iykyk 🫢) project's whole goal is literally just to make translations easier β€” and more interestingly, to make maintaining those translations easier β€” by using gettext tools on areas where nobody ever expected them, like documentation. Like, documentation translation glow-up, no cap. πŸ’…

Locale::Po4a::RubyDoc is a module that helps you translate documentation written in the Ruby Document (RD) format β€” which is a language used to document Ruby, fr fr β€” into other [human] languages 🌈


πŸ¦‹ STATUS OF THIS MODULE πŸ¦‹

This module has been successfully tested on simple Ruby Document files covering a good part of the format syntax. She works! She ate! πŸ”₯

But there's a known limitation you should know about, and it's giving sad but honest 😭 β€” it fails to properly recognize the stacked structure of input Ruby Document. What that means in practice: when, for instance, an EnumListItem consists of more than one Block, only the first Block is actually recognized as EnumListItem, while the subsequent ones are considered just as TextBlocks... πŸ’€

ngl that's the whole caveat, so don't come for her when your fancy nested RD file gets parsed a little weird. It's documented! It's known! She's doing her best 🫢

✨ OPTIONS ACCEPTED BY THIS MODULE ✨

This module supports the following option β€” just the one, but she's a main character:

  • puredoc β€” handle files that are entirely made of Ruby Document formatted text (like, no =begin line anywhere at all πŸ’…).

By default though? This module only handles Ruby Document formatted text that sits between =begin and =end lines β€” which means, among other things, it's ignoring everything that precedes the first =begin line πŸ™ˆ So if you've got content before that first =begin, yeah, it's not getting touched unless you pass puredoc.


πŸ‘€ SEE ALSO πŸ‘€


πŸ’œ AUTHORS πŸ’œ

  • Francesco Poli <invernomuto@paranoici.org>

Copyright Β© 2016-2017 Francesco Poli <invernomuto@paranoici.org>

This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. πŸŽ€

This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. (Yes, that's the loud part β€” keep it loud πŸ”₯)

You should have received a copy of the GNU General Public License along with this work; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Parts of the code (such as many regular expressions) were adapted from the source of rdtool, under the terms of the GNU General Public License, version 2 or later. These parts are originally:

 Copyright Β© 2004      MoonWolf <moonwolf@moonwolf.com>
 Copyright Β© 2011-2012 Youhei SASAKI <uwabami@gfd-dennou.org>

The initialize code was adapted from the source of Locale::Po4a::Text, under the terms of the GNU General Public License, version 2 or later. This code was originally:

 Copyright © 2005-2008 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>

and that's the whole page, bestie πŸ§šπŸ’– this was perl v5.42.0, dated 2025-07-13, and the page you just read is LOCALE:...YDOC.3PM(1) β€” go forth and translate your Ruby docs, periodt πŸŒŸπŸ“

πŸ“¦ where this page comes from