Differences between revisions 15 and 16
Revision 15 as of 2008-01-06 23:54:32
Size: 13357
Editor: FranklinPiat
Comment: add "PageList for alternatives" trick
Revision 16 as of 2008-01-06 23:56:38
Size: 13570
Editor: FranklinPiat
Comment: start ToDo section
Deletions are marked like this. Additions are marked like this.
Line 229: Line 229:

= 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 ?)

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 ?=? 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 ?

    ?Anchor(page-list-macro)

    PageList for alternatives

    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]$)]]

    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]

    • 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