App-SpreadRevolutionaryDate

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

    <https://www.gnu.org/software/gettext/gettext.html> for details. From
    the point of view of a translator, this is rather simple.

    Translators can find a portable object template
    po/App-SpreadRevolutionaryDate.pot which includes all translatable
    strings used by spread-revolutionary-date (but not translations of
    days, months, feasts used in the French Revolutionary Calendar, see
    below). They can copy this template to a portable object file of their
    language and translate strings of this file. For example, a German
    translator would work on po/de.po. All strings to be translated are
    laid down in lines beginning with msgid keyword, and translations
    should go on the next line beginning with keyword msgstr. E.g.:

      msgid "Please, enter message to spread"

    A German translator would have to replace the next line:

     msgstr ""

    by:

     msgstr "Bitte geben Sie die Nachricht zu verbreiten ein"

    When the string to be translated includes some words in curly braces,
    these words are actually named variables and should be left as is in
    the translation. E.g.:

      msgid "or {abort} to abort"
      msgstr "oder {abort}, um abzubrechen"

    And that's it! As of version 0.11 of spread-revolutionary-date, there
    is only about a dozen of strings to translate, mainly for PromptUser
    message maker. But with the possibility to extend to other message
    makers, you may need more and more strings to be translated.

    Translating days, months and feasts used in the RevolutionaryDate
    message maker do not use the gettext system. Mainly because it uses
    DateTime::Calendar::FrenchRevolutionary which proposes French and

bin/spread-revolutionary-date  view on Meta::CPAN

Also, if you use some syntactic sugars relative to methods of L<DateTime> module that are localizable, like C<month_name>, you should use the L</locale> option to have it translated in the desired language.

And now you are ready to spread whatever your like, with just some configuration tweaks!

Be aware that I<Gemini>, like any other AI, has no concept of truth. It can only give formally probable answers, based on its training data. So do not ask somehing where truth matters… Also, all data you're sending to I<Gemini> are assumed to not b...

=head1 INTERNATIONALIZATION AND LOCALIZATION

Starting from version 0.11, this distribution uses the widespread internationalization and localization system L<gettext|https://en.wikipedia.org/wiki/Gettext>, commonly used for writing multilingual programs. See L<GNU gettext documentation|https://...

Translators can find a portable object template C<po/App-SpreadRevolutionaryDate.pot> which includes all translatable strings used by C<spread-revolutionary-date> (but not translations of days, months, feasts used in the French Revolutionary Calendar...

  msgid "Please, enter message to spread"

A German translator would have to replace the next line:

 msgstr ""

by:

 msgstr "Bitte geben Sie die Nachricht zu verbreiten ein"

When the string to be translated includes some words in curly braces, these words are actually named variables and should be left as is in the translation. E.g.:

  msgid "or {abort} to abort"
  msgstr "oder {abort}, um abzubrechen"

And that's it! As of version 0.11 of C<spread-revolutionary-date>, there is only about a dozen of strings to translate, mainly for C<PromptUser> message maker. But with the possibility to extend to other message makers, you may need more and more str...

Translating days, months and feasts used in the C<RevolutionaryDate> message maker do not use the C<gettext> system. Mainly because it uses L<DateTime::Calendar::FrenchRevolutionary> which proposes French and English translations in dedicated Perl mo...

Just copy the French class (from C<lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate/Locale/fr.pm> file) into the desired language, change the name of the class and replace every French string. E.g.: the names of the months should be replace...

  has '+months' => (
    default => sub {[



( run in 1.133 second using v1.01-cache-2.11-cpan-ceb78f64989 )