Home Download FAQ / Knowledge Base Screenshots Documentation Support

Customizing WebCit

Look and Feel

The default WebCit installation will create an empty directory called static.local . read more on Directories .

You may place a file called webcit.css into this directory. If its present, its referenced after the default stylesheet. If you know CSS and wish to customize your WebCit installation, any styles you declare in static.local/webcit.css will override the styles found in static/webcit.css .

You may also place other files, such as images, in static.local for further customization.

Your customizations will not be overwritten later upgrades.

Wording / Translating

technical details

WebCit utilizes GNU Gettext to provide localization. As WebCit is threadded, you need threadsafe locale support if you want to provide per user/login locale support. They 're available in the GNU libc used in usual Linux Distributions, and Apples MacOS X. *BSD doesn't; if you need it, report a bug to them. You can however choose one locale every user will see.

How to participate

Gettext is also the right way to change some strings, if you don't like ours.

If you want to create a translation, you should log into Uncensored! and ask if anybody already started this language. launchpad is used to guide the actual process of translating citadel.

Using Launchpad

At first you need to create a launchpad account, and sign in. Then head over to the translation page of citadel project. Maybe you also want to join the team.

  * you should use the launchpad webinterface to edit your translation
  * if you don't want to use the webinterface (you're in a train... ) you can download the
  template from launchpad, use one of the tools mentioned below, and upload it therere when ready
  (or a certain state was done)


External Translation tools

These external tools can be used to process the po-file downloaded from launchpad; it might be better if you're disconnected from the net. Note that Launchpads translator has the neat feature of sugesting translations from other projects with similar strings.
  * you need at least an UTF8 capable editor (as the citadel project has chosen utf8 as charset
  for its po files, and in the end po's are just text files)
  * you could use kbabel
  * you could use the eclipse plugin
  * you could use this web editor
  * install the Emacs PO mode; it works like this:
    * Find Next String: ,
    * Remove Fuzzy tag: tab
    * Next Fuzzy: f
    * Next Untranslated: u
    * C - CC -> exit edit
  * use the vim po tools

Hints about some strings

... before you ask... RSVP aka Répondez s'il-vous-plaît Is the term that the recipient of an ical-invitation should please answer this request.

Fuzzy translations

You need to watch out for fuzzy translations, as they're guessed by gettext and need to be reviewed. They also appear if the original string was changed (like formats added).

The fuzzy flag needs to be removed afterwards. #: c-file the string is kept in #: fuzzy if gettext isn't shure what to do; remove this msgid "The original Message Text" msgstr "Your translation in some other or the same ;-) language"

test-driving your translation

Its always a good idea to test your translation so you can see how webcit combines some of your words and correct possible grammer errors; The calendaring section (and the editor) most probably is the most important section to inspect.

  * edit webcit/gettext.c, search for AvailLang and add yours, recompile and restart webcit
  to view your work
  * upload your po file to launchpad
  (if they're not already there) and anounce them on Uncensored!


Using jshint for javascript syntax checking

Most of you know, that javascript is very forgiving about syntax errors; This may speed up development, but comes back on you later on if you run on a less forgiving browser. Here comes arangoDBs arangosh (see the client packages - they include jshint already) for that:

  dev@box:~/src/citadel/webcit$ arangosh --jslint static/wclib.js
  2015-02-01T12:26:06Z [28541] ERROR jslint: static/wclib.js:31, 38 : Missing semicolon.


There are no social media links here. Enjoy a friendly Citadel community instead. Or go outside.