Differences between revisions 19 and 20
Revision 19 as of 2008-01-08 20:04:44
Size: 14467
Editor: FranklinPiat
Comment: translated pagesnames could be listed (almost automatically) too.
Revision 20 as of 2008-01-09 23:26:01
Size: 17620
Editor: FranklinPiat
Comment: linking translated pages versions : summary table.
Deletions are marked like this. Additions are marked like this.
Line 60: Line 60:
------
Line 216: Line 215:
= Connecting Translated pages =
||<-11>''This table is a summary of the alternatives below.''||
||<style="font-weight:bolder;" >Sample page name || [#WrdColl] || [#page-list-macro] || [#translated-pages] || [#i18nPrefix] ||
||[#wiki.debian.org/Materiel] || {X} || {X} || (./) || {X} ||
||[#fr.wiki.debian.org/Hardware_rewrite]|| (./) || {X} || ? || (./) ||
||[#fr.wiki.debian.org/Hardware_vhost] || (./) || {X} || ? || (./) ||
||[#wiki.debian.org/Hardware/French] || (./) || {X} || (./) || {X} ||
||[#wiki.debian.org/HardwareFrancais] || (./) || {X} || (./) || {X} ||
||[#wiki.debian.org/HardwareFrench] || (./) || {X} || (./) || {X} ||
||[#wiki.debian.org/Hardware.Fr] || (./) || (./) || (./) || (./) ||
||[#wiki.debian.org/Hardware.fr] || (./) || (./) || (./) || (./) ||
||[#wiki.debian.org/Hardware-fr] || (./) || (./) || (./) || ? ||
||[#wiki.debian.org/Hardware_fr] || (./) || {X} || (./) || {X} ||
||[#wiki.debian.org/French/Hardware] || (./) || {X} || (./) || {X} ||
||[#wiki.debian.org/FrenchHardware] || (./) || {X} || (./) || {X} ||
||[#wiki.debian.org/Fr/Hardware] || (./) || {X} || (./) || ?||
||[#wiki.debian.org/fr/Hardware] || (./) || (./) || (./) || (./) ||
||[#wiki.debian.org/FrHardware] || (./) || (./) || (./) || {X} ||
||[#wiki.debian.org/DebFr/Hardware] || (./) || (./) || (./) || ? ||
||[#wiki.debian.org/DebFrHardware] || (./) || (./) || (./) || ? ||
Line 218: Line 238:
== PageList for alternatives == == PageList for alternatives (#page-list-macro) ==
Line 225: Line 245:
Line 226: Line 247:
== List translated pages (different page name) ==
''It's possible to automatically list translated versions of the page (even if the pages names are translated).''
== List translated pages (#translated-pages) ==
''It's possible to automatically list translated versions of the page (even if the pages names are translated).'' demonstration: ["TestInEnglish"].
Line 244: Line 265:

[[Anchor(i18nPrefix)]]
== Automatic Prefix/suffix pages (#i18nPrefix) ==
For {{{fr.wiki.debian.org}}}, {{{wiki.debian.org/fr/*}}} and {{{wiki.debian.org/*.fr}}} schemes, It's possible to automatically list alternates languages (by adding a prefix or suffix to the current page name)..''
 Typically, the Moinmoin template would show the links : ''Brasileiro - Deutsch - Español - Français - Italiano - Kurdî - Nederlands - Norsk - Polski - Português - Русский - Svenska - Türkçe - 简体中文 - 繁體中文 - فارسی'' for every pages (without checking if the translated page exist).

 * with [#fr.wiki.debian.org/Hardware_rewrite] It's probably '''not''' possible to detect "broken link"/"missing page".
 * with [#fr.wiki.debian.org/Hardware_vhost] It's should be possible to detect "broken link"/"missing page".
 * with [#wiki.debian.org/fr/Hardware] It's should be possible to detect "broken link"/"missing page".
 * with [#wiki.debian.org/Hardware.fr] It's should be possible to detect "broken link"/"missing page".
 {i} for all schme, detecting "broken link"/"missing page" would require serious Moinmoin patching. It's probably not a goos idea, unless the patch is included upstream.
  {i} it might also be possible to redirect (or present) the English version, when localized version is missing. again, this would involve serious Moinmoin modification.

Translation(s): none

(!) [:/Discussion:Discussion]

Choosing a page namespace for Internationalizing DebianWiki : This page attempts to list various problematics and constraints to be taken into account before choosing a namespace... This should help choose the best solution.

Your contribution is welcome :

  • Add more constraints / needs below.
  • Add more namespace proposal.
  • Add brilliant ideas on how to implement those namespaces too !

?TableOfContents(3)

Constraints and needs

?Anchor(Search)

Easy to search (#Search)
It should be easy to search.
  • English version should be presented if localized version isn't available.
  • Find a page using localized words (assuming the user clicks "Full-text" search).
  • ?Anchor(Subject)

    Clear page subject (#Subject)

    Is it easy to identify what's the subject of a page, according to it's title ? SupportFrench and InstallDebian.pl are prone to confusion), as opposed to fr.wiki.debian.org/Support or pl/!?InstallDebian.

    ?Anchor(IdLang)

    Clear page language (#IdLang)

    Is it easy to identify what's the of a language ? A French visitor couldn't guess if he should click on Support or Assistance to get the French version (since both words are synonyms)...

    ?Anchor(OtherLng)

    Linking translated pages (#OtherLng)
    Make it easy to find the same page in other languages.(moinmoin don't have a feature to automatically connect/link localized versions of a page).

    ?Anchor(MmLnk)

    Moinmoin CamelCase linking (#MmLnk)

    Does Moinmoin create link automatically ? page containing a slash ("/") or a period (".") doesn't work, like InstallDebian/French or InstallDebian.fr . However, single word are never converted as links by moinmoin, so it's not really an issue since editors have to write ["Foo"] anyway... they can write ["fr/Foo"] too.

    ?Anchor(IsoColl)

    Country code collision (#IsoColl)

    .pl can be the short for perl files or polish translations.

    ?Anchor(LangColl)

    Language name collision (#LangColl)
    Some language may be spelled the same way in their local language (?).

    ?Anchor(WrdColl)

    Translated word collision (#WrdColl)

    The word Installation is the same in French and English. not to mention that nouns, projects name , brands, technologies aren't translated : Debian, DebianInstaller, iSCSI, HP.

    ?Anchor(Map)

    Problem mapping pages(#Map)
    It should be easy to find the different versions/languages of a page, in case link is missing.

    ?Anchor(NoTrnsl)

    Page not translated
    When a page isn't translated, the visitor should be presented the English version.

    ?Anchor(TruncURL)

    URL truncated by MUA (#TruncURL)

    Some links may get broken by some MUA, like [http://wiki.debian.org/Hardware].fr [http://wiki.debian.org/Hardware(fr])

    ?Anchor(RelLnk)

    relative links (#RelLnk)
    breaks relative links : "../Subpage" in Hardware/Wifi must be rewritten "../../Subpage/French" for Hardware/Wifi/French.

    ?Anchor(ShortURL)

    short URLs (#ShortURL)

    it's best if URL don't become too long. unlike : [http://wiki.debian.org/InstallingDebianOn/Dell/Latitude/Etch/PortugueseBrazil]

    sub-locales
    People from Brazil will appreciate if we handle pt_BR nicely.

    Summary

    This table is a summary of the alternatives below.

    Sample page name

    [#?IdLang]

    [#Subject]

    [#?WrdColl]

    [#?IsoColl]

    [#?RelLnk]

    [#?OtherLng]

    [#TruncURL]

    [#ShortURL]

    [#Map]

    [#Search]

    [#wiki.debian.org/Materiel]

    {X}

    {X}

    {X}

    (./)

    (./)

    {X}

    (./)

    (./)

    {X}

    (./)

    [#fr.wiki.debian.org/Hardware_rewrite]

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    [#fr.wiki.debian.org/Hardware_vhost]

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    {X}

    {X}

    [#wiki.debian.org/Hardware/French]

    (./)

    (./)

    (./)

    (./)

    {X}

    (./)

    (./)

    (./)

    (./)

    (./)

    [#wiki.debian.org/HardwareFrancais]

    {X}

    {X}

    (./)

    (./)

    (./)

    {X}

    (./)

    {X}

    (./)

    (./)

    [#wiki.debian.org/HardwareFrench]

    {X}

    {X}

    (./)

    (./)

    (./)

    {X}

    (./)

    {X}

    (./)

    (./)

    [#wiki.debian.org/Hardware.Fr]

    ?

    (./)

    (./)

    (./)

    (./)

    (./)

    {X}

    (./)

    (./)

    (./)

    [#wiki.debian.org/Hardware.fr]

    {X}

    (./)

    (./)

    {X}

    (./)

    (./)

    {X}

    (./)

    (./)

    (./)

    [#wiki.debian.org/Hardware-fr]

    (./)

    (./)

    (./)

    {X}

    (./)

    (./)

    {X}

    (./)

    (./)

    (./)

    [#wiki.debian.org/Hardware_fr]

    (./)

    (./)

    (./)

    {X}

    (./)

    (./)

    {X}

    (./)

    (./)

    (./)

    [#wiki.debian.org/French/Hardware]

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    {X}

    (./)

    (./)

    [#wiki.debian.org/FrenchHardware]

    {X}

    {X}

    (./)

    (./)

    (./)

    {X}

    (./)

    {X}

    (./)

    (./)

    [#wiki.debian.org/Fr/Hardware]

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    [#wiki.debian.org/fr/Hardware]

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    [#wiki.debian.org/FrHardware]

    {X}

    {X}

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    [#wiki.debian.org/DebFr/Hardware]

    ?

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    [#wiki.debian.org/DebFrHardware]

    {X}

    {X}

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    Possible tricks

    [#wiki.debian.org/fr/Materiel stub]

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    (./)

    Legend :

    • {X} The namespace doesn't support the feature properly

    • (./) The namespace supports the feature properly.

    • ? Undecided / Not clear, yet.

    Alternatives

    The following are various alternatives for translation page names for a sample 'Hardware' page. ?Anchor(wiki.debian.org/Materiel)

    wiki.debian.org/Materiel

    Cons:

    • Subject collision : The same word can be used for different subject in different languages
    • Language collision : two language can use the same word.
    • Difficult to guess the page language (see point above).
    • Difficult to list other languages-version of a given page.
    • Difficult to present English page if {lang} doesn't exist.

    Pros:

    • Easy to search information for non-english people

    ?Anchor(fr.wiki.debian.org/Hardware)

    fr.wiki.debian.org/Hardware

    This can be achieved by two means :

    ?Anchor(fr.wiki.debian.org/Hardware_vhost)

    fr.wiki.debian.org/Hardware (vhost)

    Create multiple moinmoin wiki instances in multiple virtual hosts.

    Cons

    • Editors would have to create their accounts in each instances.
    • Non-english visitor wouldn't be able to search in English pages (someone proposed to use English as underlay, which could solve this.).

    ?Anchor(fr.wiki.debian.org/Hardware_rewrite)

    fr.wiki.debian.org/Hardware (rewrite)

    Use Apache to rewrite fr.wiki.debian.org/Hardware to wiki.debian.org/fr/Hardware. We would need to hack moinmoin to fallback to English version.

    Cons

    • The pages are accessible through multiple URI (fr.wiki.debian.org/Hardware and wiki.debian.org/fr/Hardware) which could lead to a major confusion (accidental deletion) !

    ?Anchor(wiki.debian.org/Hardware/French)

    wiki.debian.org/Hardware/French

    Cons

    • Breaks ?SubPages relative Links.

    • If we wanted to have a page about "I18n/French", we should name it "I18n/French/French" and "I18n/French/English" ! (that's unlikely to happend)

    ?Anchor(wiki.debian.org/HardwareFrench)

    wiki.debian.org/HardwareFrench

    Cons

    • Can be ambigous : consider ?WhyFrench ; ?SupportFrench, etc..

    • The URL could become long for some language (esp. ?PortugueseBrazil)

    ?Anchor(wiki.debian.org/Hardware.Fr)

    wiki.debian.org/Hardware.Fr

    Cons

    see trick [#page-list-macro].

    ?Anchor(wiki.debian.org/Hardware.fr)

    wiki.debian.org/Hardware.fr

    Cons

    ?Anchor(wiki.debian.org/Hardware_fr)

    wiki.debian.org/Hardware_fr

    Cons

    • some people use "page_name" rather that CamelCase => page_name_fr could be ambiguous.

    ?Anchor(wiki.debian.org/Hardware-fr)

    wiki.debian.org/Hardware-fr

    Cons

    • Page language isn't very clearly identified (for visitors not used to this convention). it's still fairly obvious.

    ?Anchor(wiki.debian.org/French/Hardware)

    wiki.debian.org/French/Hardware

    • The URL could become long for some language (esp. ?PortugueseBrazil)

    ?Anchor(wiki.debian.org/FrenchHardware)

    wiki.debian.org/FrenchHardware

    • Can be ambigous : consider ?FrenchWhy ; ?FrenchSupport, etc..

    • The URL could become long for some language (esp. ?PortugueseBrazil)

    ?Anchor(wiki.debian.org/Fr/Hardware)

    wiki.debian.org/Fr/Hardware

    • Help ! any cons ?

    ?Anchor(wiki.debian.org/fr/Hardware)

    wiki.debian.org/fr/Hardware

    • Help ! any cons ?

    Pros :

    • Even better than "/Fr/*", since a wiki page name should start with an uppercase, we know that a page matching regexp:^[a-z]{2}/.*$ is a localised version.

    ?Anchor(wiki.debian.org/FrHardware)

    wiki.debian.org/FrHardware

    Cons

    • ?DeInstall vs Desinstall. (I hope you don't have dyslexia problem).

    ?Anchor(wiki.debian.org/DebFr/Hardware)

    wiki.debian.org/DebFr/Hardware

    Cons

    • Longer, than "Fr/*" !.

    (I guess It was actually a short for ?DebianFrFoobar )

    ?Anchor(wiki.debian.org/DebFrHardware)

    wiki.debian.org/DebFrHardware

    • Longer, than "Fr/*" !.
    • ?DebDeInstall ?=? ?DebianDesinstall ? (I hope you don't have dyslexia problem).

    Possible Tricks

    The following tricks can be used to improve some of the above proposal.

    ?Anchor(wiki.debian.org/fr/Materiel stub)

    wiki.debian.org/fr/Materiel stub

    Create linker to help non-english people to find article by title search tool?

    • (optional) To help user that doesn't speak English, you can create a linker page named "Initial of language" + "/" + "PageInNativeLanguage". This page redirect to the English page with the content #redirect "Language" + "/"+ "NameOfReferentPage"

      • Example:
        • Linker page: fr/!?QuelqueChose

        • Content of the linker: #redirect fr/Something

        • English page: fr/Something

    Pros :

    • non-english people can Search article by title.

    Cons :

    • Extra maintenance cost.
    • Does searching [BackLink] works ?

    Connecting Translated pages

    This table is a summary of the alternatives below.

    Sample page name

    [#?WrdColl]

    [#page-list-macro]

    [#translated-pages]

    [#i18nPrefix]

    [#wiki.debian.org/Materiel]

    {X}

    {X}

    (./)

    {X}

    [#fr.wiki.debian.org/Hardware_rewrite]

    (./)

    {X}

    ?

    (./)

    [#fr.wiki.debian.org/Hardware_vhost]

    (./)

    {X}

    ?

    (./)

    [#wiki.debian.org/Hardware/French]

    (./)

    {X}

    (./)

    {X}

    [#wiki.debian.org/HardwareFrancais]

    (./)

    {X}

    (./)

    {X}

    [#wiki.debian.org/HardwareFrench]

    (./)

    {X}

    (./)

    {X}

    [#wiki.debian.org/Hardware.Fr]

    (./)

    (./)

    (./)

    (./)

    [#wiki.debian.org/Hardware.fr]

    (./)

    (./)

    (./)

    (./)

    [#wiki.debian.org/Hardware-fr]

    (./)

    (./)

    (./)

    ?

    [#wiki.debian.org/Hardware_fr]

    (./)

    {X}

    (./)

    {X}

    [#wiki.debian.org/French/Hardware]

    (./)

    {X}

    (./)

    {X}

    [#wiki.debian.org/FrenchHardware]

    (./)

    {X}

    (./)

    {X}

    [#wiki.debian.org/Fr/Hardware]

    (./)

    {X}

    (./)

    ?

    [#wiki.debian.org/fr/Hardware]

    (./)

    (./)

    (./)

    (./)

    [#wiki.debian.org/FrHardware]

    (./)

    (./)

    (./)

    {X}

    [#wiki.debian.org/DebFr/Hardware]

    (./)

    (./)

    (./)

    ?

    [#wiki.debian.org/DebFrHardware]

    (./)

    (./)

    (./)

    ?

    ?Anchor(page-list-macro)

    PageList for alternatives (#page-list-macro)

    If the page name structure of translated pages is formally structured ([#wiki.debian.org/fr/Hardware], [#wiki.debian.org/Hardware.fr], [#wiki.debian.org/Hardware-fr]...), it's possible to use the PageList macro to list available languages, like :

    •  [[PageList(re:^MacBook/[a-z][a-z]$)]]

      {i} this trick could be used in our Moinmoin theme, so it doesn't to be added in every pages..

    ?Anchor(translated-pages)

    List translated pages (#translated-pages)

    It's possible to automatically list translated versions of the page (even if the pages names are translated). demonstration: ["?TestInEnglish"].

    Everypage should have the following header (adjust #language en)

    • #language en
      ##TranslationMasterPage:EnglishName## 

    And the following footer.

    • ----
      Translated versions :
       [[FullSearchCached(##TranslationMasterPage:TestInEnglish##)]]

      {i} It should be possible to implement this feature in Moinmoin itself. Moinmoin would do something similar to [http://moinmoin.wikiwikiweb.de/HelpOnMacros ?FullSearchCached], but it would also fetch the page header's #language xx and display the matching language name (rather than the page name).

    ?Anchor(i18nPrefix)

    Automatic Prefix/suffix pages (#i18nPrefix)

    For fr.wiki.debian.org, wiki.debian.org/fr/* and wiki.debian.org/*.fr schemes, It's possible to automatically list alternates languages (by adding a prefix or suffix to the current page name)..

    • Typically, the Moinmoin template would show the links : Brasileiro - Deutsch - Español - Français - Italiano - Kurdî - Nederlands - Norsk - Polski - Português - Русский - Svenska - Türkçe - 简体中文 - 繁體中文 - فارسی for every pages (without checking if the translated page exist).

    • with [#fr.wiki.debian.org/Hardware_rewrite] It's probably not possible to detect "broken link"/"missing page".

    • with [#fr.wiki.debian.org/Hardware_vhost] It's should be possible to detect "broken link"/"missing page".
    • with [#wiki.debian.org/fr/Hardware] It's should be possible to detect "broken link"/"missing page".
    • with [#wiki.debian.org/Hardware.fr] It's should be possible to detect "broken link"/"missing page".

      {i} for all schme, detecting "broken link"/"missing page" would require serious Moinmoin patching. It's probably not a goos idea, unless the patch is included upstream.

      • {i} it might also be possible to redirect (or present) the English version, when localized version is missing. again, this would involve serious Moinmoin modification.

    History

    ToDo

    Once the decision is made :

    • Update editor guide.
    • Rename existing pages.
    • Renmame Frontpages + get Content negotiation updated ( /var/lib/python-support/python2.4/MoinMoin/i18n/fr.py ?)

    Resources


    ?Anchor(wikivote)

    WikiVote

    Please read ["?DebianWiki/WikiVote"] for instruction:

    Vote start 05/01/2008 and will finished 15/01/2008

    • wiki.debian.org/Materiel
    • fr.wiki.debian.org/Hardware (vhost)
    • fr.wiki.debian.org/Hardware (rewrite)
    • wiki.debian.org/Hardware/French
    • wiki.debian.org/!?HardwareFrench

    • wiki.debian.org/Hardware.Fr
    • wiki.debian.org/Hardware.fr
    • wiki.debian.org/French/Hardware
    • wiki.debian.org/!?FrenchHardware

    • wiki.debian.org/Fr/Hardware
    • wiki.debian.org/fr/Hardware [:SalokineTerata:1] [:ClytieSiddall:2]

    • wiki.debian.org/!?FrHardware

    • wiki.debian.org/!DebFr/Hardware
    • wiki.debian.org/!?DebFrHardware

    Mailing lists contacted on @lists.debian.org: debian-i18n, debian-l10n-english, debian-www


    ?CategoryWiki