L10n:Thunderbird3 Guide

Det hele som et billede: http://mozilladanmark.dk/produkter/thunderbird/mercurial-tb/mercurial-tb.svg

Installation af mercurial

På Windows

  • Download og installer MozillaBuild herfra (lad være med at læse noget på den side og lad være med at downloade andet end MozillaBuild)
  • Lad være med at ændre installationsmappen (vigtigt)
  • Et terminalvindue kan åbnes ved at dobbeltklikke på start-l10n.bat i mappen C:\mozilla-build
  • For at kopiere tekst i vinduet:
    • Vælg L10n-Thunderbird3 Guide-cmd-menu.png -> Rediger -> Marker (engelsk: Edit -> Mark)
      L10n-Thunderbird3 Guide-edit-mark.png
    • Marker teksten med musen
    • Afslut med højreklik
  • For at indsætte tekst i vinduet:
    • Sæt markøren det ønskede sted
    • Vælg L10n-Thunderbird3 Guide-cmd-menu.png -> Rediger -> Indsæt (engelsk: Edit -> Paste)
      L10n-Thunderbird3 Guide-edit-paste.png

På Linux

  • Åbn et terminalvindue
  • Skriv sudo apt-get install mercurial

Brug af Mercurial

  • Alle Mercurial-kommandoer skal udføres fra et terminalvindue. Se afsnittet om installation ovenfor for hvordan et MozillaBuild-terminalvindue åbnes på Windows
  • Brug kommandoen cd til at skifte mellem mapperne
  • Jeg vil anbefale at du lægger de forskellige Mercurial-repositories i hver deres undermappe under en fælles mappe (lad os kalde den "arbejdsmappen")
  • Tip: Man kan tilføje -R <mappe> for at udføre en kommando uden at skulle skifte til undermappen

Hent første gang

  • Brug cd til at skifte til en mappe, som du vil lave oversættelsen i. De danske og de engelske oversættelser vil blive placeret i forskellige undermapper til denne mappe.
  • Hent de engelske tekster for Firefox (desktop), Firefox (mobil) og Toolkit ved at skrive hg clone http://hg.mozilla.org/releases/mozilla-aurora/ mozilla-aurora
  • Hent de engelske tekster for Thunderbird, Lightning og SeaMonkey ved at skrive hg clone http://hg.mozilla.org/releases/comm-aurora/ comm-aurora
  • Hent de den danske oversættelse af Firefox (desktop), Firefox (mobil), Thunderbird, Lightning, SeaMonkey og Toolkit ved at skrive hg clone http://hg.mozilla.org/releases/l10n/mozilla-aurora/da/ da-aurora
  • Bemærkninger:
    • Adresser for gamle versioner er dokumenteret på siden L10n:Hg.
    • "Toolkit" er navnet på de tekststrenge, som alle programmerne har til fælles.
    • Alle de ovenstående kommandoer udføres fra samme mappe. Alle efterfølgende kommandoer udføres fra de enkelte undermapper.
    • Billedet herunder er ikke opdateret
      L10n-Thunderbird3 Guide-hg-clone.png
  • Følgende gælder kun hvis du skal push'e til repositoriet:
    • Åbn filen da-aurora/.hg/hgrc i en tekst editor
    • Lav en kopi af linjen default, omdøb den til default-push og ret http til ssh. Her er et eksempel:[paths]
      default = http://hg.mozilla.org/releases/l10n/mozilla-aurora/da/
      default-push = ssh://hg.mozilla.org/releases/l10n/mozilla-aurora/da/

Hent efterfølgende opdateringer

  • Brug cd til at skifte til den mappe, du vil opdatere, fx da-aurora, mozilla-aurora eller comm-aurora.
  • Skriv hg pull for at hente de nyeste ændringer fra Mozillas repository til dit lokale repository
  • Skriv hg update for at hente ændringerne fra dit lokale repository ud til dine filer
    • Nogen gange kan det være nødvendigt at bruge hg update -c, specielt i repositoriet med de engelske strenge
    • Hvis hg update går galt, så se afsnittet #Merge conflict

Se dine ændringer

  • Skriv hg status for at se en oversigt over filerne.
    • M betyder ændring, D betyder slettet og A betyder tilføjet
    • ! betyder du har slettet en fil men endnu ikke fortalt Mercurial om det
    • ? betyder du har tilføjet en fil men endnu ikke fortalt Mercurial om det
  • Skriv hg diff for at få mere detaljeret information om hvad du har ændret. Det kan være en fordel at skrive hg diff > rettelser.diff og åbne filen rettelser.diff i en tekst editor i stedet, da diff-formatet kan være svært at læse i et terminalvindue.

Tilføjede og slettede filer

Hvis en fil er tilføjet eller slettet skal den også registreres eller afregistreres i hg før hg diff og hg commit.

Tilføj en fil
hg add <filnavn> - filen skal allerede være oprettet
Slet en fil
hg remove <filnavn> - hg sletter selv filen

Alternativt hvis hg status ikke rapporterer andet end de filer man vil tilføje og slette (samt modificerede filer), kan man i stedet bruge hg addremove (intet filnavn), som tilføjer alle ukendte filer og sletter alle manglende filer. Men man skal passe på med denne kommando, hvis man har lokale filer liggende, som man ikke vil have med (fx rettelser.diff).

Send ændringer uden om Mozilla

  • Skriv hg diff > rettelser.diff
    L10n-Thunderbird3 Guide-hg-zip.png
  • Åbn den genererede diff-fil i en tekst editor og kontroller at det ser OK ud
  • Send den genererede diff-fil, fx i en mail

Modtag ændringer uden om Mozilla

  • Skriv patch -p1 < rettelser.diff for at indlæse ændringerne fra filen rettelser.diff (Læg mærke til at kommandoen ikke starter med hg)
  • Husk at fortælle Mercurial om eventuelt tilføjede og slettede filer bagefter

Send dine ændringer til Mozilla

  • Vigtigt: Sørg for at du er fuldt opdateret med hg pull og hg update som beskrevet i afsnittet #Hent efterfølgende opdateringer, ellers kan det gå helt i baglås
  • Kontroller hvad du er ved at sende som beskrevet i afsnittet #Se dine ændringer
  • Skriv hg commit -m"Beskrivelse af ændringerne" -u"Dit Navn <din@mailadresse.dk>", hvor teksterne er erstattet med hvad der nu passer, for at sende ændringerne fra dine lokale filer til dit lokale repository
  • Skriv hg out (en forkortelse for hg outgoing) for at se hvad du er ved at sende. Der skulle gerne kun være den ændring du lige har lavet med dit hg commit ....
  • Skriv hg push for at sende ændringerne fra dit lokale repository til Mozillas repository.
  • Hvis det fejler så skriv hg push -f for at ignorere advarslen (bare rolig, advarslen har ingen betydning)
  • Hvis det stadig fejler, så har du nok glemt første tin. Du må i så fald bruge hg rollback og starte forfra.
  • Note: Før du kan lave hg push skal du have adgang og have sat ssh op, men det vil jeg ikke beskrive her - se [1][2]

Merge conflict

Når du skriver hg update (eller hg pull -u), kan man risikere, at der både er lokale ændringer og ændringer fra serveren, som skal flettes sammen, eksempelvis:

Original tekst: Første Anden Tredje Fjerde Femte Sjette.
Lokal version: Første ANDEN Tredje Fjerde Femte Sjette.
Serverens version: Første Anden Tredje Fjerde FEMTE Sjette.

Sker det, laver Mercurial en såkaldt 3-way-merge:

  1. Lav diff mellem original og lokal:
    Første Anden ANDEN Tredje Fjerde Femte Sjette.
  2. Lav diff mellem original og serverens:
    Første Anden Tredje Fjerde Femte FEMTE Sjette.
  3. Patch originalen med begge disse diffs:
    Første Anden ANDEN Tredje Fjerde Femte FEMTE Sjette.
  4. Den færdige tekst bliver:
    Første ANDEN Tredje Fjerde FEMTE Sjette.

Det kan også ske at det samme sted i filen rettes både lokalt og på serveren, eksempelvis:

Original tekst: Første Anden Tredje Fjerde Femte Sjette.
Lokal version: FØRSTE Anden TREDJE Fjerde Femte Sjette.
Serverens version: Første Anden TREDJE Fjerde FEMTE Sjette.

Her ser 3-way-merge at samme sted er blevet rettet både lokalt og af serveren, men da begge har rettet til samme udgave, er det ikke et problem, og resultatet bliver:
FØRSTE Anden TREDJE Fjerde FEMTE Sjette.

Dette sker typisk hver gang du opdaterer. Du kar lavet en lokal ændring, du har sendt ændringen til mig, jeg har sendt ændringen til serveren, og serveren sender nu nøjagtigt samme ændring som du selv har til dig.

Problemet opstår, når samme sted rettes til noget forskelligt, eksempelvis:

Original tekst: Første Anden Tredje Fjerde Femte Sjette.
Lokal version: FØRSTE Anden TREDJE Fjerde Femte Sjette.
Serverens version: Første Anden TrEdJe Fjerde FEMTE Sjette.

Her vil 3-way-merge give:
Første FØRSTE Anden Tredje CONFLICT Fjerde Femte FEMTE Sjette.

Hvilket jo er problematisk, og vi har en Merge Conflict. Hvis du har en såkaldt Conflict Editor, kan du få den til at vise dig de tre varianter (Tredje, TREDJE og TrEdJe) og du kan vælge en af dem eller indtaste noget fjerde. 3-way-merge vil så automatisk rette de to andre steder, hvor det ikke gik galt. Jeg vil tro det er for kompliceret at komme nærmere ind på hvordan dette foregår.

Problemet opstår typisk hvis du har sendt en rettelse til mig, som endnu ikke har været hele cyklen rundt fra dig til mig til serveren og tilbage til dig, og du samtidigt opdaterer din rettelse.

En merge conflict kan også simpelt løses ved at slette alle sine egne ændringer. Det gøres ved at skrive hg revert <filnavn> --no-backup, hvor <filnavn> er navnet på den fil Mercurial brokker sig over. --no-backup forhindrer Mercurial i at efterlade en fil med filendelsen .orig tilføjet.

Tekst editor

  • Du skal bruge en tekst editor lignende Notepad (Notepad kan ikke bruges)
  • Sæt din tekst editor til at åbne og gemme filer i UTF-8 - 99,9% af alle tekst editorer bruger ISO-8859-1 som standard
  • Sæt din tekst editor til ikke at gemme et Byte Order Mark i begyndelsen af filen (vigtigt) - 99.9% af alle tekst editorer gemmer som standard et Byte Order Mark, hvis man har valgt UTF-8 (Dette er umuligt at ændre i Notepad - derfor kan den ikke bruges)
  • Sæt din tekst editor op til at bruge LF som linjeskift - de fleste tekst editorer til Windows bruger CRLF som standard, mens de fleste tekst editorer til Linux bruger LF som standard (nogle filer i Thunderbird, som stammer tilbage fra Thunderbird 2, bruger CRLF, så vi har en blanding af LF or CRLF)
  • Spørg hvis du har brug for hjælp - jeg (Jesper) ved hvordan man gør i SciTE
  • AlleyKat om http://notepad-plus.sourceforge.net/ : Indstillinger > Præferencer.. -> faneblad Nyt dokument > sektion Nyt dokument > undersektion Kodning > vælg UTF-8 (uden BOM) og (dette er det vigtige!) markér underfeltet "Anvend når ANSI-fil åbnes".
    NotepadPlusPlus-indstilling.png

Oversæt

  • Husk at aftale med de andre først
  • Åbn dashboard og klik derefter på C i kolonnen H/C (lad være med at bogmærke siden C, da adressen ændres hver gang der er en opdatering)
  • Siden viser en oversigt over tilføjede, slettede og ændrede filer. For ændrede filer vises tilføjede og slettede tekststrenge i en kasse. Spørg eventuelt for hjælp til hvordan siden skal læses
  • Vælg en fil
  • Find filen i de to mapper arbejdsmappe/comm-aurora og arbejdsmappe/da-aurora (mappestrukturen i dashboard matcher den i da-aurora, men ikke helt den i comm-aurora, kan du ikke finde en fil, så spørg)
  • Åbn de to filer i en teksteditor (se oven for)
  • Så er det i gang med at oversætte - spørg hvis du ikke forstår filformaterne
  • Sørg for at oversætte i henhold til ordlisten
  • Er du i tvivl om en oversættelse, kan du spørge i forum

Test

Hent en delvist oversat version af Thunderbird - ikke oversatte tekster er på engelsk, opdateres automatisk en gang i døgnet

Fundne fejl indrapporteres på siden Thunderbird3-fejl og forslag eller alternativt i forummet

Hjælp

(prioriteret rækkefølge)

  • i forummet
  • På messenger: dikrib()jabber.dk eller msn()jesperkristensen.dk