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