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