Difference between revisions of "Website Maintenance"

From GnuCash
Jump to: navigation, search
(Categories)
("Coding" Style: Separate data (Numbers, URL, ...) from text)
Line 17: Line 17:
 
Translatable text is quoted:
 
Translatable text is quoted:
 
<SyntaxHighlight lang="php"> <?php echo T_("A translatable string");?> </SyntaxHighlight>
 
<SyntaxHighlight lang="php"> <?php echo T_("A translatable string");?> </SyntaxHighlight>
 +
Separate data (Numbers, URL, ...) from text:
 +
;Bad:
 +
<SyntaxHighlight lang="php"> <?php echo T_("<span class=\"gnucash\">GnuCash</span> handles internationalized dates and currencies. The application's menus and popups have been translated to 21 languages, including Chinese, Danish, French, German, Hungarian, Italian, Japanese, Norwegian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian, and British English. Documentation is available in English, French, Portuguese and Spanish.");?></p> </SyntaxHighlight>
 +
;Better:
 +
<SyntaxHighlight lang="php"> <?php printf (T_("<span class=\"gnucash\">GnuCash</span> handles internationalized dates and currencies. The application's menus and popups have been translated to %u languages, including Chinese, Danish, French, German, Hungarian, Italian, Japanese, Norwegian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian, and British English. Documentation is available in English, French, Portuguese and Spanish."), 21);?></p> </SyntaxHighlight>
 +
Now an additional translation of the program will not break all website translations.
 +
 
Try to avoid putting URLs in translatable strings, but links to the wiki should be separate marked translatatable - there might be a translated page in the wiki.
 
Try to avoid putting URLs in translatable strings, but links to the wiki should be separate marked translatatable - there might be a translated page in the wiki.
  

Revision as of 01:49, 10 May 2017

Sometimes something should be improved on our website. This page is intended to collect the right procedure.

Introduction

www.gnucash.org is the webserver of the GnuCash project. The sources are public available at GitHub. Building is done by a simple GNU Make.

State

{sizing|develdocs}.phtml are currently (2017) hopeless outdated.

Adding or Changing Text

If you add or change text, keep in mind Gnucash and its website are multilingual. If you - like me and most other people - are not firm in all languages, you should ask the translators, to help you keeping the translations up to date.

"Coding" Style

The static structure is usually written in HTML, the dynamic parts are injectet via PHP. Direct formating is disliked, use externals/gnucash.css instead. Translatable text is quoted:

 <?php echo T_("A translatable string");?>

Separate data (Numbers, URL, ...) from text:

Bad
 <?php echo T_("<span class=\"gnucash\">GnuCash</span> handles internationalized dates and currencies. The application's menus and popups have been translated to 21 languages, including Chinese, Danish, French, German, Hungarian, Italian, Japanese, Norwegian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian, and British English. Documentation is available in English, French, Portuguese and Spanish.");?></p>
Better
 <?php printf (T_("<span class=\"gnucash\">GnuCash</span> handles internationalized dates and currencies. The application's menus and popups have been translated to %u languages, including Chinese, Danish, French, German, Hungarian, Italian, Japanese, Norwegian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian, and British English. Documentation is available in English, French, Portuguese and Spanish."), 21);?></p>

Now an additional translation of the program will not break all website translations.

Try to avoid putting URLs in translatable strings, but links to the wiki should be separate marked translatatable - there might be a translated page in the wiki.

Tips for Translators

Most important are the strings from index.phtml and externals/{header|menu|footer}.phtml. They are seen, when calling the page.

  • Strings from search/ should be unusused now.

Managing Translations

After you finished editing the english text, you should prepare the translation by

  1. creating a new .pot file
    make pot
  2. msgmerge all existing .po files
    make msgmerge
    and commit the updates
  3. send a short mail to gnucash-devel about "Translators: Website changed ..."
    feel free to give them some clues, what changed like
    "complete new download page" or
    "fixed 42 typos in the english text".
  4. As patches with reworked .po files arrive,
    1. apply them and
    2. make the .mo files, e.g. with
      make mos
    3. commit
      po/LL.po and
      locale/LL/LC_MESSAGES/gnucash-htdocs.mo
      where LL is the language code.

Further details can be found on the Translation page.

Thanks for your time and work!

Todo: Testing

Idea
Set up apache (or another webserver?)
Add your repository to your apache configuration /etc/apache2/conf.d/
View http://localhost/gnucash/