Pagina 1 din 1

Cum se traduc proiectele phpBB.com

Scris: 22-Apr-2011, 17:25:26
de bogdan
Dupa cum stiti toate proiectele phpBB.com au fost mutate pe Github. Astfel se da posibilitatea oricarei persoane sa colaboreze la traduceri.

Iata toate proiectele phpBB.com: https://github.com/phpbb/

Github este folositor la lucrul in echipa pentru codare sau traducere. Puteti viziona secventa video de mai jos pentru a vedea cum se foloseste Github


Mai jos aveti un tutorial specific pentru un proiect phpBB.com (Support Toolkit). Nu se aplica la MOD-uri.

--------------------------------------------------------------------------------------------------------

Setare Github pe calculatorul local:

1. Creati-va un cont Git: https://github.com/

2. Descarcati si instalati Git: http://git-scm.com/download

3. Creati o cheie ssh care va identifica si pe care o folositi la publicare: http://help.github.com/msysgit-key-setup/

Pentru cei care folosesc Windows: cititi aici si aici cum se rezolva problema cu caracterul LF din UNIX.
--------------------------------------------------------------------------------------------------------

Pentru fiecare proiect : (ex. Support Toolkit)

1. Preluati proiectul in contul propriu (folositi butonul Fork): https://github.com/phpbb/support-toolkit

Suplimentar pe sistemele Windows folositi urmatoarea comanda pentru a evita problemele cu caracterul sfarsit linie

Cod: Selectaţi tot

git config --global core.autocrlf false
2. Clonati proiectul local folosind in clientul Git comanda

Cod: Selectaţi tot

git clone git@github.com:bogtom/support-toolkit.git
Consultati: http://help.github.com/forking/


3. Adaugati o ramura remote denumita "upstream" si resetati "origin":

Cod: Selectaţi tot

cd support-toolkit
git remote add upstream git://github.com/phpbb/support-toolkit.git
git fetch upstream
git remote rm origin
git remote add origin git@github.com:bogtom/support-toolkit.git
4. Creati o ramura pe local pentru traducere:

Cod: Selectaţi tot

git checkout -b intl-ro
5. Efectuati modificarile (de limba) necesare (eg. duplicati directorul de limba engleza, ...) in clona de pe calculatorul propriu dupa care publicati modificarile in contul online propriu:

Cod: Selectaţi tot

git status -s
git add .
git status -s
git commit -m 'Romanian changes STK 1.0.5'
git push origin intl-ro
6. Deschideti o cerere de publicare in catalogul oficial folosind comanda de mai jos in browser sau direct online folosind butonul Pull Request (observati noua ramura intl-ro)

Cod: Selectaţi tot

https://github.com/bogtom/support-toolkit/pull/new/intl-ro


Nota: in caz ca primiti aceasta eroare the error: fatal: remote origin already exists. folositi codul

Cod: Selectaţi tot

git remote rm origin
ca sa stergeti si sa readaugati origin.


--------------------------------------------------------------------------------------------------------


Tutorial in engleza preluat de pe forumurile interne phpBB.com Autor: Maël Soucaze.

Orice poate sa colaboreze la traducere. Ulterior il facem public in caz ca mai sunt si altii care vor sa se implice la traducerea proiectelor phpBB.com folosind GitHub.

Setup

Signup for a free GitHub account

GitHub is a web-based hosting service for software development projects that use the Git revision control system. We are hosting all our projects on this host. GitHub offers both commercial plans and free accounts for open source projects. You can register a free account by clicking here.

Download and install Git on your machine

Git is a powerful, sophisticated system for distributed version control. It is all about composing and saving snapshots of your project and then working with and comparing those snapshots. It will pull down the whole project history, so you can browse history and even commit changes without online access. Thus Git works very well if you have an intermittent or poor network connection. These guides will step you through the process of downloading and installing Git in your operating system:

Windows: http://help.github.com/win-git-installation/
Mac: http://help.github.com/mac-git-installation
Linux: http://help.github.com/linux-git-installation


Generating SSH keys

SSH keys are used to secure communications between your machine and other machines. These guides will step you through the process of generating a keypair and uploading it to GitHub, depending on your Git client as well as your operating system:

Windows: http://help.github.com/msysgit-key-setup
Mac: http://help.github.com/mac-key-setup
Linux: http://help.github.com/linux-key-setup


Setup username and e-mail

Git needs to know your username and email address to properly credit your commits. Setting this setting will also let GitHub link the commits you make to your GitHub account. Run the following commands to setup username (please use your registered username that we recognize you) and e-mail globally:

Cod: Selectaţi tot

    $ git config --global user.name "Your Username"
    $ git config --global user.email "youremail@whatever.com"
You can also check this guide for a more detailed configuration with GitHub token.

Setup line ending preferences

Line endings is the scourge of every Windows-based developer that tries to mingle with Linux- or Mac-based developers. Though most modern text editors can handle both newline types without issue, Git is not as graceful. Run the following command to setup line ending preferences on Windows:

Cod: Selectaţi tot

    $ git config --global core.autocrlf false

Starting

Forking a repository

Forking is to clone an entire remote repository into another remote repository. Now you have two repositories based around the same code base. At that one point in time, they have the same set of files and the same changelog. A fork is a copy located on GitHub which is then linked to the main repository as a child. To create a fork, simply click the Fork button on the GitHub project's page.

These projects may interest you because you can translate them in your local language:

- support-toolkit
- phpbb3
- customisation-db
- mpv
- quickinstall
- automod
- umil
- modx_creator_phpbb
- docs


Cloning the fork locally

Cloning is to make a copy of a remote repository into your local development environment, your machine. No one's got access to this machine or your clone. Run the following commands to clone the fork locally and make sure you use the Private URL, not the Public URL:

Cod: Selectaţi tot

    $ git clone git@github.com:phpbb/<project>.git
Once the clone is complete, your repository will have a remote named origin that points to your fork on GitHub. Don't let the name confuse you, this does not point to the original repository you forked from. To help you keep track of that repository, we will add another remote named upstream:

Cod: Selectaţi tot

    $ cd <project>
    $ git remote add upstream git://github.com/<you>/<project>.git
    $ git fetch upstream

Note that we used the public clone URL for upstream, so you can't push changes directly to it. You don't have permission to do that anyway, which is why you're creating a fork in the first place.

Create a branch

You must use branches, foreign main branches are never merged. Translations should have a branch named intl-<lang>, for example intl-de (German language). Please see the Sub-Project Contribution Guidelines for more information. So let's start by creating your new branch:

Cod: Selectaţi tot

    $ git branch intl-<lang>
If you now run:

Cod: Selectaţi tot

    $ git branch
You'll get a list of all existing branches:

Cod: Selectaţi tot

      intl-<lang>
    * master
The intl-<lang> branch is the one you just created, and the master branch is a default branch that was created for you automatically. The asterisk marks the branch you are currently on. To switch to your language branch, the intl-<lang> branch, simply run the following command:

Cod: Selectaţi tot

    $ git checkout intl-<lang>
Want a helpful tip? You can also directly take a shortcut by running this command:

Cod: Selectaţi tot

    $ git checkout -b intl-<lang>
This will create the intl-<lang> branch and immediately switch to it. Easy and magical!


Basic snapshotting

Git is all about composing and saving snapshots of your project and then working with and comparing those snapshots. Instead of writing a documentation available everywhere, please read this section of the Git Reference website listing all the commands needed for basic snapshotting like git add, git status, git diff, git commit, git reset HEAD and git rm.

Sharing and updating

Git doesn't have a central server. All of the commands so far have been done locally, just updating a local database. To collaborate with other translators in Git, you have to put all that data on a server that the other translators have access to. The way Git does this is to synchronize your data with another repository. There is no real difference between a server and a client - a Git repository is a Git repository and you can synchronize between any two easily. Once you have a Git repository, either one that you set up on your own server, or one hosted someplace like GitHub, you can tell Git to either push any data that you have that is not in the remote repository up, or you can ask Git to fetch differences down from the other repo. Please read this section of the Git Reference website listing all the commands needed for basic snapshotting like git remote, git fetch, git pull, and git push.

Sending pull requests

Pull requests let you tell others about changes you've pushed to a GitHub repository. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. This guide walks through the process of sending a hypothetical pull request and using the various code review and management tools to take the change to completion.

Concrete example

Nothing is clearer than take a real example. As you know, I am IST/Translation Manager but also French and U.S. English translator. Let us take for example the AutoMOD project with the French translation.

After registering an account on GitHub (maelsoucaze as username) and downloaded and installed Git on my computer (I'm using Windows 7 as operating system), I am generating SSH keys:

Cod: Selectaţi tot

    $ ssh-keygen -t rsa -C "maelsoucaze@phpbb.com"
    Generating public/private rsa key pair.
    Enter file in which to save the key (/c/Users/maelsoucaze/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /c/Users/maelsoucaze/.ssh/id_rsa.
    Your public key has been saved in /c/Users/maelsoucaze/.ssh/id_rsa.pub.
    The key fingerprint is:
    e8:ae:60:8f:38:c2:98:1d:6d:84:60:8c:9e:dd:47:81 maelsoucaze@phpbb.com
Now I'm launching my your browser and open my account page. In the "" section, I click on "Add another public key", then I paste my public key (stored in the id_rsa.pub file) into the "Key" field.

Now, I am going to set my username and e-mail adress:

Cod: Selectaţi tot

    $ git config --global user.name "Maël Soucaze"
    $ git config --global user.email "maelsoucaze@phpbb.com"
And my line ending preferences, especially because I am on Windows:

Cod: Selectaţi tot

    $ git config --global core.autocrlf false
Now I am going to fork the AutoMOD repository by clicking on the appropriate button ; once the forking is done, I have the remote repository, identical to the official.

I'm cloning the fork locally, on my machine, into C:\Users\maelsoucaze\automod:

Cod: Selectaţi tot

    $ git clone git@github.com:phpbb/automod.git
And I will add another remote named "upstream" and reset "origin":

Cod: Selectaţi tot

    $ cd automod
    $ git remote add upstream git://github.com/maelsoucaze/automod.git
    $ git fetch upstream
    From git://github.com/maelsoucaze/automod
    * [new branch]      master     -> upstream/master
    $ git remote rm origin
    $ git remote add origin git@github.com:maelsoucaze/automod.git
Let's go working and submitting my language pack! After performing my French translation stored outside the local repository, I am going to create the French branch and switching to it:

Cod: Selectaţi tot

    $ cd automod
    $ git checkout -b intl-fr
    Switched to a new branch 'intl-fr'
I can now copy my translation in the local repository and commit the files:

Cod: Selectaţi tot

   $ git status -s
    ?? root/language/fr
    $ git add .
    $ git status -s
    A root/language/fr/acp/mods.php
    A root/language/fr/mods/info_acp_modman.php
    $ git commit -m 'First commit. Adding my language pack to Git!'
    [intl-fr b03eb80] First commit. Adding my language pack to Git!
    2 files changed, 4132 insertions(+), 0 deletions(-)
    create mode 100644 root/language/fr/acp/mods.php
    create mode 100644 root/language/fr/mods/info_acp_modman.php
All changes have been committed, I have to push all the files to my online repository on GitHub:

Cod: Selectaţi tot

    $ git push origin intl-fr
    Enter passphrase for key '/c/Users/maelsoucaze/.ssh/id_rsa':
    Counting objects: 2, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (2/2), 10.40 KiB, done.
    Total 2 (delta 2), reused 0 (delta 0)
    To git@github.com:maelsoucaze/automod.git
    * [new branch]      intl-fr -> intl-fr
Finally, open a pull request to repatriate my commits to the official repository. That's it!


--------------------------------------------------------------------------------------------------------


Un tutorial util: http://wiki.phpbb.com/Working_with_Git