intrigeri
3ba976d1d3
po: pages in underlay dirs are not translatable
...
Fixes build break due to read-only underlay dirs, e.g. basewiki.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-15 23:04:57 +01:00
intrigeri
9abda92324
po(_istranslation): fix unitialized value
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-15 22:45:45 +01:00
intrigeri
5c59ad63df
po: fix broken links from slave pages
...
... by overriding cgiurl.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-15 21:49:32 +01:00
intrigeri
196f03a987
po: do not add translation status to parentlinks
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-13 13:03:30 +01:00
intrigeri
4fd2807886
po(isvalidpo): more meaningful error message
...
... explaining how to go on with edit.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 18:57:50 +01:00
intrigeri
4ad871810d
po: back to the cansave hook, as the form validation is not sufficient
...
Form validation works, but after trying to save invalid PO content, the user is
brought back to the page he/she was editing, without any single clue to explain
why it was not saved. The dedicated cansave hook is thus necessary.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 18:51:32 +01:00
intrigeri
7ef0c19cdf
po: first attempt to replace cansave hook with form validate tweaks
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 17:51:17 +01:00
intrigeri
33f9eeb4fb
po/i18n: move the function names out of the translatable strings
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 17:24:54 +01:00
intrigeri
da26603e07
po: updated copyright years
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 16:54:03 +01:00
intrigeri
fae3cef41a
po(formbuilder_setup): remove the rename/remove buttons on slave pages
...
This has to be done after the rename/remove plugins have added
their buttons, so we set this hook to be run last.
The canrename/canremove hooks already ensure this is forbidden
at the backend level, so this is only UI sugar.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 16:02:25 +01:00
intrigeri
e5222db332
po: avoid warnings and possible bugs with nested named subroutines
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 15:14:58 +01:00
intrigeri
14a79751e3
po: gettext-ize error messages
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 15:00:34 +01:00
intrigeri
724dbabc4a
po: do not allow to create pages of type po
...
The main reason to do so is to bypass the "favor the type of linking page on
page creation" logic, which is unsuitable when a broken link is clicked on
a slave (PO) page.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 14:09:34 +01:00
intrigeri
d1642e4cd9
po: cosmetic changes to percent translated display
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 12:36:07 +01:00
intrigeri
f58cb48f1f
po(formbuilder_setup): use a template to display the warning
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 12:27:10 +01:00
intrigeri
0f89ef0579
po: test formbuilder_setup hook to warn about new master page's language
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 12:15:21 +01:00
intrigeri
876808568e
po: require ikiwiki plugin interface 3.0
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 11:22:54 +01:00
intrigeri
949c4c0c3a
po: send msgfmt output to /dev/null, else it creates messages.mo files
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 23:33:16 +01:00
intrigeri
d0c9c21687
po: fix error messages
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 23:32:52 +01:00
intrigeri
c821cee108
po(cansave): check PO validity using new isvalidpo function
...
... because Po4a's parser does not care about malformed PO data.
Use gettext's msgfmt program instead.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 23:12:08 +01:00
intrigeri
1d3da099b4
po(cansave): use po_to_markup to check PO validity
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 22:16:43 +01:00
intrigeri
5ebb42494d
po: move most of filter code to its own function
...
Allow this new po_to_markup function to run in non-fatal mode,
we need this in our cansave hook.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 22:16:07 +01:00
intrigeri
41eca80e25
po: register a (dummy) cansave hook
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 19:48:48 +01:00
intrigeri
e895157397
Pass src, srcfile, dest and destfile to the canrename hook.
...
This is not needed by the use I'm doing of it, but seems more consistent to me.
Future users of this hook may need this data to make their mind.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 18:04:37 +01:00
intrigeri
131d2d4e7c
po: bugfix
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 17:56:51 +01:00
intrigeri
80a630a3fb
po: fix canrename hook
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 17:49:10 +01:00
intrigeri
b24f236dfa
po: use the new canrename hook to prevent translation renames in the CGI
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 16:52:43 +01:00
intrigeri
741b26aa17
remove: implemented a new canremove hook; use it in the po plugin
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 16:44:39 +01:00
intrigeri
5412a95fd0
po(myurlto): more robust run_by_editpage logic
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 01:14:06 +01:00
intrigeri
37b8822762
po: some code/comments refactoring
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 01:08:40 +01:00
intrigeri
856de5734d
po: follow new coding style (removed Vim folding markers
...
)
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 01:08:35 +01:00
intrigeri
85f865b5d9
po: added postscan hook, to make pages depend on the pages linking to them
...
... so that nicepagetitle hook's effects, such as translation status displayed
in links, are updated when the linked page changes.
The replacement of 'my %backlinks' with 'our %backlinks' in Render.pm made this
work: previously, every postscan hook was called with an almost empty
%backlinks, which defeated all my attempts to implement this feature.
This feature hits performance a bit. Its cost was quite small in my real-world
use-cases (a few percents bigger refresh time), but could be bigger in worst
cases. Time will tell.
NB: this hack could also be used by my meta branch. It may even be a ikiwiki
optional feature.
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 01:08:10 +01:00
intrigeri
885e4b607a
po: new po_translation_status_in_links option
...
... to make configurable the last implemented feature.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 16:45:55 +01:00
intrigeri
be092e5639
po(nicepagetitle): forgot to display %
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 16:34:08 +01:00
intrigeri
63c2bf57cb
po(percenttranslated): fix issue with leading /
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 16:31:18 +01:00
intrigeri
0d874f0b69
po(nicepagetitle): append translation status to links to translated pages
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 15:45:05 +01:00
intrigeri
805e16ec65
po: inject our own (currently a no-op) nicepagetitle function
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 15:40:32 +01:00
intrigeri
149a3e65a7
po: fix redirect after edit, using a somehow tricky hack
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 13:02:48 +01:00
intrigeri
bd10381103
po: delete translations of deleted master pages
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 11:47:18 +01:00
intrigeri
cd62acfb47
po: remove debug statements
2008-12-30 23:10:12 +01:00
intrigeri
f586eafe90
po: remove renamed pages special handling, not needed anymore
...
Thanks to the new rename hook behaviour, the whole renaming work is now done
by the rename plugin, and we don't need to remember which pages were renamed.
2008-12-30 23:00:46 +01:00
intrigeri
5738f30a29
the rename hook can now change the list of pages to rename
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 22:55:04 +01:00
intrigeri
c01485ae1a
renamed the renamepage hook to renamelink, added rename hook
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 21:36:40 +01:00
intrigeri
5eed0fd97d
po(change): reset renamed pages status at a better time
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 04:37:26 +01:00
intrigeri
d795a295c9
po: initial infrastructure to deal with renamed master page
...
This is a skeleton that does nothing yet.
See the comments in the code for an overview of the issue that arises, due to
the renamepage hook never being called globally.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 03:55:55 +01:00
intrigeri
c390056eb2
po(delete): added hook, and function skeleton
...
Not implemented yet, 'cos the renamepage hook has to come first.
Else translations would be deleted on rename, what a shame.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 01:38:22 +01:00
intrigeri
cb1fe44f5d
po(change): avoid losing information before guessing the same...
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 01:07:52 +01:00
intrigeri
8745d67f06
po(istranslatablefile): extracted this from istranslatable
...
... will need this soon to deal with master file deletion.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 00:56:23 +01:00
intrigeri
190c641c8a
po(otherlanguages): return pages that should exist
...
... instead of already existing ones.
This fixes the "missing otherlanguages links on master pages just created via
the CGI" bug.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 23:27:30 +01:00
intrigeri
36312b13b4
po: memoized istranslatable, eventually
...
And enjoy a 10% rebuild time enhancement on a complex wiki full of maps and
other pseudo-dynamic content, with some other costly plugins enabled. So it
could well mean 20% on a more usual wiki.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 22:32:47 +01:00
intrigeri
10c4e858b8
po(change): flush Memoize cache, to fix bug after rename/remove
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 21:18:48 +01:00
intrigeri
c440a39ba4
po(htmlize): ignore PO files not managed by this plugin
...
This way, the po plugin will not appropriate PO files it is not responsible for,
and PO files existing before this plugin was enabled can coexist peacefully with
our own ones.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 18:06:04 +01:00
intrigeri
2f27eb9693
po: ooops, fixed just introduced bug
...
(I just removed in istranslation and _istranslation the dependency on
istranslatable... which broke things in a subtle way, hard to see at the first
glance.)
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 17:52:00 +01:00
intrigeri
aed42eb34a
po: fix istranslation/istranslatable for pages starting with /
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 17:29:12 +01:00
intrigeri
f4815e3b12
po(mybestlink): fixed when fed with path beginning with /
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 16:54:51 +01:00
intrigeri
eba2dee941
po: compute internal links from a slave page relative to its master page
...
e.g. a link appearing on a slave page links to its masterpage's subpages.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 15:04:50 +01:00
intrigeri
40ffc92953
po: fixed bug when a new translatable page is created
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 23:04:58 +01:00
intrigeri
2b4e76a961
po: change a bit the way links are generated
...
This will soon enable usage of translated page titles in link.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 22:29:47 +01:00
intrigeri
f0abaa9fc9
po: fixed link to home page when po_link_to=negotiated, added testcase
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 18:42:14 +01:00
intrigeri
f0e796d9a1
po(change): fix uninitialized variables when running IkiWiki::refresh()
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 16:04:40 +01:00
intrigeri
43a1d36378
po: added HOMEPAGEURL template variable, documented when to use it
...
Hopefully all links should now be consistent with the chosen linking behavior,
but who knows...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 15:27:39 +01:00
intrigeri
cfe101fff9
po: fixed link to homepage from non-translation page
...
Added testcases for this bug.
It remains broken when generated from <TMPL_VAR BASEURL>, though.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 15:06:26 +01:00
intrigeri
6b82ef44b0
po: some code simplification/clarification
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 14:11:34 +01:00
intrigeri
0d8cbfc5e0
po(scan): make more clear what's being done
...
Mostly comments, and also a small code change: simplification and implementation
details hiding.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 04:32:20 +01:00
intrigeri
d57ef86380
po: reorder nearly all of the module code
...
It has grown up incrementally and new helper functions were added right in the
middle of the hooks, most often near the place they were used, which is
practical when doing initial development, but quite ugly afterwards, when helper
functions are useful to separate logic and implementation details.
Today's refactoring commits have brought the code to a much more maintainable
state, IMHO.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 04:05:39 +01:00
intrigeri
a7d329c173
po(match_lang, match_currentlang): use the lang() function
...
... now that it exists, instead of duplicating it.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 21:30:06 +01:00
intrigeri
b4ab0d0b9e
po: rewrote otherlanguagesloop()
...
It is now more elegant IMHO, and the output is now sorted according to the
language name (instead of code).
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 21:19:21 +01:00
intrigeri
c5513548c9
po: factorize extraction of a slave page's masterpage and lang
...
The very same code was repeated at dozens of places.
NB: the real work is now done is _istranslation(), which is memoized,
so the additional function calls overhead should be compensated.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 20:40:44 +01:00
intrigeri
864bc2d9d0
po(otherlanguagesloop): start factorizing
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 18:38:25 +01:00
intrigeri
1255acc02c
po: finish abstracting %filtered by putting it into a blackbox
...
i.e. it is invisible for everyone but its accessors/mutators
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 15:30:49 +01:00
intrigeri
38cdda66d7
po: actually use pofiles() function, to enhance code clarity
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 15:09:56 +01:00
intrigeri
5575786803
po: abstract "doing something for the same page in every other language"
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 14:55:21 +01:00
intrigeri
532ec56a5f
po: abstract implementation details for %translations building and resetting
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 13:56:46 +01:00
intrigeri
3174b4c6f3
po: abstract %filtered implementation details
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 13:51:00 +01:00
intrigeri
00732f19b9
po: clarify error messages
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 13:22:50 +01:00
intrigeri
6fc898df75
po: clarify code with some comments
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 13:14:42 +01:00
intrigeri
aef1b0f503
po: prevent a slave page to depend on itself
...
It has never caused harm yet, but it might in the future.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 12:48:27 +01:00
intrigeri
646d7bf6a3
po(refreshpot): define the input charset before read()'ing
...
... to prevent the use of Encode::Guess::guess_encoding() in
Locale::Po4a::Transtractor (just a minor security measure, dependent on po4a
internals, but we have no reason to think Encode::Guess is not safe).
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-08 21:32:04 +01:00
intrigeri
a0ac346079
po: finished backlinks implementation
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 22:17:54 +01:00
intrigeri
34ab884242
po: implemented linking/backlinks specification for po_link_to=negotiated
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 21:27:00 +01:00
intrigeri
3e341e64c2
po: added pofiles() function, will use this soon
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 21:23:23 +01:00
intrigeri
4879a7f033
po: add comments
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 16:33:10 +01:00
intrigeri
daa04ae436
po: fix link to homepage in special case
...
... by wrapping IkiWiki::urlto in order to workaround hard-coded
/index.$config{htmlext}, which is wrong when usedirs=0 and po_link_to=current
and translatable homepage
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 17:28:04 +01:00
intrigeri
8b001dbb00
po: redesign (once more) automatic POT/PO files update
...
Now use the change hook to update these files, check them into VCS, and trigger
IkiWiki::refresh as needed. The needsbuild hook's help was required to prevent
infinite looping.
This more rigorous way of doing this fixes recentchanges (that was previously
not updated in some cases), and probably is a better long-term solution than the
two previously tested ones.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 15:54:55 +01:00
intrigeri
802be94104
po: use prep_writefile before creating any files in refreshpot and refreshpo
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 14:17:33 +01:00
intrigeri
10af328ff1
po: syntax warning fix
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 14:08:33 +01:00
intrigeri
7ad5c5cbdc
po: fixed whitespace
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:55:03 +01:00
intrigeri
769be3d48e
po: po_link_to is safe, and fallbacks to a working value if needed
...
warnings are displayed if it is set to an invalid or incompatible value
(e.g. po_link_to=negotiated and disabled usedirs)
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:47:09 +01:00
intrigeri
419de149a6
po: mark po_translatable_pages as a safe configuration setting
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:29:48 +01:00
intrigeri
34afa2c07d
po: po_master_language and po_slave_languages are safe config settings
...
... and check their validity in checkconfig
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:26:45 +01:00
intrigeri
c96dd00480
po: added license and copyright
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:01:33 +01:00
intrigeri
1f54c13ec2
Merge commit 'upstream/po' into prv/po
...
Conflicts:
IkiWiki/Plugin/po.pm
doc/plugins/po.mdwn
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 12:28:31 +01:00
Joey Hess
17bd930bc9
first pass over code
...
Only change of note is quoting some strings in a regexp, just in case
(also avoids the . matching any character!)
Mostly whitespace changes of no consequence.
2008-11-05 15:18:07 -05:00
Joey Hess
ae37bca0e2
backup refs to injected subs later
...
In case two plugins both inject replacements for these subs,
backup the ref just before injecting to make sure the most
recent version is seen.
2008-11-05 15:09:54 -05:00
Joey Hess
9b16e7f148
minor layout changes
2008-11-05 15:09:04 -05:00
Joey Hess
7e95723dad
avoid hitting the shell with system()
2008-11-05 14:45:45 -05:00
Joey Hess
9bedf53c0f
another reason to require rebuilds (and not be marked safe)
...
the plugin changes html filenames, so requiring a manual transition to
enable
2008-11-05 13:57:48 -05:00
intrigeri
3e0c52c524
po plugin(filter): redesign temp file management
...
... in a way compatible with various File::Temp versions.
The result is far from being perfect (see comments in the code for details),
but it does work.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-05 01:36:44 +01:00
intrigeri
225e21f6c5
po plugin: redesign refresh mechanism after master page update
...
manually triggering IkiWiki::refresh() was at least dubious, and more or less
buggy (it randomly broke the whole backlinks feature); thinking a bit more to
add the necessary bits to @needsbuild seems like a better way. don't play with
ikiwiki's internals if not absolutely needed.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-04 23:32:32 +01:00
intrigeri
bc5b875de8
po plugin: remove broken parentlinks for home page's translations
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-04 20:05:21 +01:00
intrigeri
cfcb7454db
po plugin: aesthetics
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-04 19:23:58 +01:00
intrigeri
c731a81b43
po plugin: fix preview for PO files
...
As a trick, use editcontent hook to mark the page as unfiltered, to force our
filter() sub's to proceed again.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-04 18:24:43 +01:00
intrigeri
c7fbcf6c5e
po plugin: slave pages link to the master's discussion page
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-03 00:52:27 +01:00
intrigeri
9bd3262f50
po plugin: replace %hash=undef with undef %hash
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 23:12:43 +01:00
intrigeri
773de05a7a
po plugin: force utf-8 encoding in POT files
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 21:35:52 +01:00
intrigeri
2ebc0bb82d
po plugin: fix linking from a translation to its master page
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 20:08:38 +01:00
intrigeri
37a9e64291
po plugin: fix targetpage for home page's translations
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:54:53 +01:00
intrigeri
439ba4490a
po plugin: removed last (?) bit of deprecated custom hook
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:51:00 +01:00
intrigeri
950c29679d
po plugin: replace targetpage hook with wrapper function
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:48:56 +01:00
intrigeri
307d11541a
po plugin: replace tweakurlpath hook with a wrapper function
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:29:23 +01:00
intrigeri
502a3433c4
po plugin: replace tweakbestlink hook with a wrapper function
...
... thanks to the new inject() feature.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 17:56:15 +01:00
intrigeri
fafa98ea96
disable istranslatable memoization
...
It makes some test cases cry once every two tries; this may be related to the
artificial way the testsuite is run, or not. In the meantime, stop memoizing
this function.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 16:44:42 +01:00
intrigeri
8211910566
po plugin: set every configuration item to unsafe
...
We will check later which ones are actually safe enough for websetup.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-19 17:19:42 +02:00
intrigeri
f096a9d798
po plugin: added ISTRANSLATION and ISTRANSLATABLE template variables
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-19 00:05:13 +02:00
intrigeri
629968fc89
po plugin(refreshpot): prevent PO references to be written
...
... else we can fall into some kind of nasty infinite loop, when two ikiwiki
instances don't store their working copy of the repository at the same place:
every POT file update in one repository would trigger an update of the same POT
file in the others repository, and so on.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 21:47:49 +02:00
intrigeri
a0deb3038c
po plugin: do not allow msgmerge to create backup files
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 19:18:22 +02:00
intrigeri
892809bb53
po plugin: only refresh private module variables when needed
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:13 +02:00
intrigeri
7b7865150f
po plugin: add correct dependencies on pages using OTHERLANGUAGES
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:13 +02:00
intrigeri
1aad01f841
po plugin: bugfix (OTHERLANGUAGES)
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri
1d76762517
po plugin: initial implementation of automatic POT/PO update
...
The updated or created PO files are put under version control.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri
1e69eb482f
po plugin: rebuild %translations after having created missing POT/PO files
...
This is not needed yet, but when newly created POT/PO files are added to
%pagesources and other data structures, we'll need this.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri
58c77a01f7
po plugin: create missing POT/PO files in needsbuild hook
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri
6add615928
po plugin: added and documented PERCENTTRANSLATED template variable
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri
1a670d3aca
po plugin: make translation percentage available in OTHERLANGUAGES loop
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri
8867316125
po plugin: added currentlang() custom PageSpec function
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri
ce9db89896
po plugin: added lang() custom PageSpec function
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri
d4f787ef52
po plugin: make any slave page dependent on the corresponding master page
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri
a8e8613fa1
po plugin: bugfix - only refresh POT/PO for translatable pages
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri
dc74c8e577
po plugin: do not trust po4a functions return value
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri
6424d748a4
po plugin: refresh PO files when a master page is updated
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri
d5b5cfb8e4
po plugin: refresh POT files when a master page is updated
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri
bd237d48cf
po plugin: build %translations in needsbuild hook rather than scan
...
... because we'll need this data to refresh POT/PO files in needsbuild hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri
a28559798a
po plugin: created OTHERLANGUAGES template loop
...
It currently only provides basic translations/master pages links.
Updated documentation accordingly.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri
32cc0b336a
po plugin: po_slave_languages is a hash, rather than a hash of hashes
...
The latter seems to be unsupported by ikiwiki config system.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri
ae827a43f8
po plugin: build %translations at scan time
...
... so that we can consider it as complete at preprocess time
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri
08df9dcef7
po plugin: memoize istranslatable and _istranslation
...
Both functions are called very often, and:
- istranslatable has no side effect
- _istranslation is the helper function, without any side effect, for the
istranslation function
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri
1e874b3f0a
po plugin[filter]: avoid converting more than once per destfile
...
Only the first filter function call on a given {page,destpage} must convert it
from the PO file, subsequent calls must leave the passed $content unmodified.
Else, preprocessing loops are the rule.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri
52728bb6ea
po plugin: bugfix (calling function in wrong module)
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri
458ccebdd3
po plugin: added *.pot to wiki_file_prune_regexps
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri
e163b037bf
po plugin: move translatable pages to setup file, refactor
...
Replaced [[!translatable]] directive with po_translatable_pages setting.
Moved istranslatable/istranslation code to helper functions leaving place for
future caching and/or memoization. The PageSpec functions still work.
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri
ffd1fff775
po plugin: allow pagestate update (bugfix)
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri
b0b87d1584
po plugin: respect documented convention to store pagestate
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri
79d6f52d30
po plugin: implemented po_link_to=current
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri
0791e5afe3
po plugin: added istranslatable() pagespec function, and use it
...
(do not name non-translatable pages index.LL.html)
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri
fdc7974b2a
po plugin: implemented po_link_to=negotiated
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri
e82c6b1908
po plugin: implement linking specification in one of the main cases
...
i.e. in case usedirs is enabled and po_link_to_current_language is disabled
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri
c8330da6c0
po plugin: add po_link_to_current_language option, check config
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00
intrigeri
1975d4d35f
po plugin: use pagespec_match() instead of direct match_istranslation calls
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00
intrigeri
258c49ae55
po plugin: added [[!translatable]] directive
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00
intrigeri
bd50ba3e83
po plugin: switch to page.LL.html naming convention
...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00