path: root/README
blob: da044bfae3bed797dbc96665c084cb0b6841d95b (plain)
  1. Ikiwiki w/ translations
  2. =======================
  3. Ikiwiki[1] is a perl-based wiki compiler.
  4. This is routines to manage translatable parts of Ikiwiki and translations into
  5. the following locales:
  6.  * danish (da) by Jonas Smedegaard <>
  7. Additionally, the configuration has been simplified to not mention non-Git VCS
  8. systems, and deprecated placeholder files has been removed from basewiki.
  9. Getting the source
  10. ------------------
  11. This README file is available at together with a GIT
  12. repository with source of the translation routines. Pull it like this:
  13.     git clone git://
  14. Installation
  15. ------------
  16. To pull in all translatable and translated parts, do this:
  17.     make
  18. Customizing
  19. -----------
  20. To publish your own forked repository through web, you first need to create a
  21. special public repository that you "push" your changes into from your private
  22. working repository - like this:
  23.     GIT_DIR=public_dir/repository_name.git git --bare init --shared
  24.     chmod +x public_dir/repository_name.git/hooks/post-update
  25. To actually use your newly created public repository created above, you need to
  26. populate it with your current working repository (the --all option is only this
  27. once, not on subsequent pushes) - like this:
  28.     git config remote.origin.url git-reference-to-public-repository
  29.     git push --all
  30. To instead populate your newly created public repository with a multi-branched
  31. local repository, first make a complete clone with all branches setup locally,
  32. and push it all - like this for repository with master and master-da branches:
  33.     git clone git-reference-to-old-public-repository some-temp-dir
  34.     cd some-temp-dir
  35.     git checkout -b master-da origin/master-da
  36.     git config remote.origin.url git-reference-to-public-repository
  37.     git push --all
  38. To resyncronize an older fork of the repository with newer upstream changes, do
  39. like this (skip first command on subsequent updates):
  40.     git remote add ikiwiki git://
  41.     git pull ikiwiki master
  42. Translation
  43. -----------
  44. Some modules (markdown files - template files are not yet supported by po4a) is
  45. translatable through the gettext system using PO files.
  46. To update PO templates for all modules marked as supporting gettext, do this:
  47.     make pot
  48. To update PO files for all supported locales of all supported modules, do this:
  49.     make po
  50. To update all gettext-supported modules based on newer PO files, do this:
  51.     make translations
  52. To initialize new locales, do like this (all on one line):
  53.     make po po-init-modules="module1 module2" po-init-locales="da sv no"
  54. If you want to initialize based on an existing locale rather than the master,
  55. add the origin locale to the above make command similar to this:
  56.     make po [...] po-init-fromlocale=de
  57. To add new modules and locales as gettext supported, add them to *_POMODULES
  58. and *_POLOCALES. Keep them alse in *_MODULES and *_LOCALES to support pulling
  59. final translations without recreating from PO files.
  60. Please beware that the automated po4a process is not perfected yet, so check
  61. the result before use.
  62. ----
  63. References:
  64. [1]