From Fedora Project Wiki

(we now use matrix)
 
(31 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{autolang|base=yes}}
= Fedora L10N Frequently Asked Questions =
= Fedora L10N Frequently Asked Questions =


Here are some FAQs about the Localization Project.
Here are some FAQs about the Localization Project.


{{ Admon/note | More information about translations can be found at the [http://docs.fedoraproject.org/translation-quick-start-guide/ Fedora Translation Quick Start Guide] , which is more up to date and translated in many languages.}}
== Legend ==
Damned Lies (DL) :: Our statistics software. Upstream is GNOME.
Fedora Stats page :: Our instance of DL. Currently hosted at https://translate.fedoraproject.org/.
Transifex :: A Turbogears application for upstream translation submissions ([http://transifex.org Transifex devel page] ). Canonical URL: https://translate.fedoraproject.org/submit/.
VCS :: Version Control System. CVS, Subversion, Mercurial (hg), git are all VCSs.
{{Anchor|general}}
== General Questions ==
== General Questions ==


{{Anchor|get-files}}
=== What does "L10N" means? ===
=== How do I get the translation files? (#get-files) ===
L10N is an abbreviation of the term "Localization" by means of a so-called numeronym, a way of replacing the middle letters of a word (in case 'ocalizatio') by naming the number of letters between the first and last letter of that word (in case 10): '''Localization'''.
 
You can either:
 
1. Use each module's stats page to download a PO file, using the green download icon next to each language.
 
[[Image:Tx_Download.png]]
 
2. Run an anonymous checkout for each module from its VCS. You can see the repository root for each module at <code>/module</code> or on each module's stats page. Example:
<pre>:pserver:anonymous@cvs.fedoraproject.org:/cvs/docs
</pre>
 
3. Run an eponymous checkout for those modules where you already have access to. Currently these are those hosted on <code>cvs.fpo</code> (docs, l10n, pkgs repos). The advantage of this method is that you can commit from the checked out copy. Example:
<pre>export CVSROOT=:ext:<username>@cvs.fedoraproject.org:/cvs/docs
cvs co homepage
</pre>
 
{{Admon/caution | Don't forget to [[msgmerge|  msgmerge]]  if you didn't get the file from the Stats page (the stats page automatically msgmerge's the PO and POT files).}}
 
4. Grab all the msgmerged files for your language in the 'pofiles' directory way similar to the following, substituting <lang-code> with your language code (eg. 'el'):
 
<pre>export MYLANG=<lang-code>
wget -q -r -N -l 1 --accept *$MYLANG.po -nd -nH -P pofiles http://translate.fedoraproject.org/languages/$MYLANG/fedora-9
</pre>
 
In the future, we'll have a command-line interface to Transifex that you could use to easily do such stuff, like eg. running <code>tx get-lang el</code>.


{{Anchor|submit}}
=== Should I translate legal notices? ===


=== How do I submit translations? (#submit) ===
No. You must never do that. The exact wording of the legal notices is very important and a translation not approved by lawyers is very risky. Red Hat is the legal representative and primary sponsor of the Fedora Project and does not have the resources to cross check every single translation. Just leave the original English notice in tact when it covers legal matters.


Take a look at http://translate.fedoraproject.org/module/. There are two different families of Version Control Systems (VCS):
=== Where do I report issues or feature requests? ===
* Issues or Feature requests specific to Fedora Infrastructure should be reported to [https://fedorahosted.org/fedora-infrastructure/newticket]
e.g. XYZ package is not available for Translation Submission or Statistics.


1. '''cvs.fedoraproject.org''' -- All Fedora translators ([[L10N/Join| members of the 'cvsl10n' group]] ) have commit access to these modules; see [[L10N/Join| L10N/Join]]  to join 'cvsl10n'. If this is not the case, it's a bug. To commit, run an eponymous checkout and <code>cvs commit</code>.
* Issues or Feature requests specific to Transifex should be reported to [http://transifex.org/newticket].
1. '''<code>[svn,hg,git] .fedorahosted.org</code> and others''' -- All [[L10N/Join| members of the 'cvsl10n' group]]  can use Transifex to contribute to these modules.
e.g. Statistics should show last committer information as well on the status page, Sorting of statistics should be available.


Modules accepting translations from Transifex are listed at https://translate.fedoraproject.org/submit/module/.
The fastest way of getting things done is to approach FLP-admin group via Matrix {{matrix|#l10n:fedoraproject.org}}.


{{Anchor|website}}
== Website Questions ==
== Website Questions ==


The website of the Fedora Localization Project is '''http://translate.fedoraproject.org/'''.
The website of the Fedora Localization Project is '''http://translate.fedoraproject.org/'''.


Some quick facts:
* It is maintained by the [[L10N| L10N project]], usually by [[User:Glezos| Dimitris Glezos]] and [[User:Raven| Piotr Drąg]].
 
* It is maintained by the [[L10N| L10N project]] , usually by DimitrisGlezos and DiegoZacarao.
* Code lives in CVS. See [[L10N/Tools#cvs| L10N/Tools#cvs]] .


{{Anchor|bugs}}
{{Anchor|bugs}}
=== Where are issues and requests for a website of the Translation Project reported? (#bugs) ===
=== Where are issues and requests for a website of the Translation Project reported? (#bugs) ===


The best place to report requests and issues about the statistics pages and other Localization-specific websites, is [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=Website Bugzilla, L10n/Website component] . Here's a quick [https://bugzilla.redhat.com/buglist.cgi?product=Fedora+Localization&version=unspecified&component=Website&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=MODIFIED&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc= query of existing website reports].
The best place to report requests and issues about the Localization-specific websites, is [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=Website Bugzilla, L10n/Website component]. Here's a quick [https://bugzilla.redhat.com/buglist.cgi?product=Fedora+Localization&version=unspecified&component=Website&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=MODIFIED&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc= query of existing website reports].


To report requests and issues about the Fedora's Transifex instance, use [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=Website Bugzilla, L10n/Transifex component] . Here's a quick [https://bugzilla.redhat.com/buglist.cgi?product=Fedora+Localization&version=unspecified&component=Transifex&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=MODIFIED&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc= query of existing Transifex reports].
Before opening a new bug report, please take a look at the above query to see if there's an existing report opened. It sometimes help to ask in {{matrix|#l10n:fedoraproject.org}} if there's a known issue at that exact moment. If not, please open a bug report describing what's wrong with the service in clarity. Include the nature of the problem, the module/branch combination, the time (in UTC) it happened and your Fedora username. If you suspect it might be a problem with the particular file you are uploading or the target file, include that information as well.
 
Before opening a new bug report, please take a look at the above query to see if there's an existing report opened. It sometimes help to ask in #fedora-l10n if there's a known issue at that exact moment. If not, please open a bug report describing what's wrong with the service in clarity. Include the nature of the problem, the module/branch combination, the time (in UTC) it happened and your Fedora username. If you suspect it might be a problem with the particular file you are uploading or the target file, include that information as well.


If the issue is about Transifex as a software like feature requests and general problems not specific to the Fedora instance, please use the upstream [https://transifex.org/newticket ticketing system of Transifex] .
If the issue is about Transifex as a software like feature requests and general problems not specific to the Fedora instance, please use the upstream [https://transifex.org/newticket ticketing system of Transifex] .


{{Anchor|new-team}}
{{Anchor|new-team}}
=== How do I add a new team to the website? (#new-team) ===
=== How do I create a new team? (#new-team) ===


See [[L10N/Maintainer| L10N/Maintainer]] on how to become a maintainer of a new language.
See [[L10N_Maintainer| L10N Maintainer]] on how to become a maintainer of a new language.


1. The website uses two files for team/people associations: <code>people.xml.in</code> and <code>translation-teams.xml.in</code>. To create a team and/or become a maintainer for it, we'll need to have those files updated for the information to go live on our website.
To add your team, create a [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=l10n-requests bug report on l10n-requests]. Include language, your name and FAS account, e-mail address, and URL to team's website and mailing list, if they exist.
 
To add your team to the website, you will need to create chunks of XML for these files that reflect the changes you want to do. Here are examples of XML chunks:
 
1. people.xml.in
<pre>  <person id="alan">
<name>Alan Cox</name>
<email>alan@redhat.com</email>
<webpage>http://fedoraproject.org/wiki/User:Alan</webpage>
</person>
</pre>
1. translation-teams.xml.in
<pre>  <team id="el">
<_language id="el">Greek</_language>
<coordinator id="glezos"/>
<bugzilla-component>Greek [el]</bugzilla-component>
<webpage>http://www.fedoraproject.gr/</webpage>
<mailing-list>fedora-trans-el@redhat.com</mailing-list>
<mailing-list-subscribe>http://www.redhat.com/mailman/listinfo/fedora-trans-el</mailing-list-subscribe>
</team>
</pre>
1. Create a [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=l10n-requests bug report on l10n-requests] . Either paste the XML chunks created in previous step or attach a patch for the files on the bug report (preferred). Make sure you added your information in both files.
1. Attach a hackergotchi image if you'd like (up to 100px max side).
1. Someone with a local copy of the website (see Maintainers on top of page) will test the changes, commit them and tag as LIVE. After this, and in a couple of hours, the website should be updated automatically.
 
{{ Admon/tip | Do not mark as LIVE unless someone has tested the changes locally first.}}
 
{{ Admon/tip | The files must be valid XML. Make sure your tags are closed properly and any '&' characters are replaced with '&amp;amp;'.}}


{{Anchor|bugzilla-team}}
{{Anchor|bugzilla-team}}
{{Anchor|buzilla-team}}
{{Anchor|buzilla-team}}
=== How do I create a bugzilla component for my language? (bugzilla-team) ===


We have a separate bugzilla component for every language, in order for bug reports to reach the correct people (ie. the ones that can fix them). We maintain these entries in an owners.list<code> file on our VCS. You can find it in the L10n CVS, at [http://cvs.fedoraproject.org/viewcvs/owners/owners.list?root=l10n&rev=HEAD&view=log /cvs/l10n/owners/] . Each organized language group should have an entry there.
=== How do I create a Bugzilla component for my language? (#bugzilla-team) ===


For more information, refer to [[L10N/Maintainer| L10N/Maintainer]] .
We have a separate Bugzilla component for every language, in order for bug reports to reach the correct people (ie. the ones that can fix them). We maintain these entries in an owners.list file on our VCS. You can find it in the L10n CVS, at [http://cvs.fedoraproject.org/viewcvs/owners/owners.list?root=l10n&rev=HEAD&view=log /cvs/l10n/owners/]. Each organized language group should have an entry there.


{{ Admon/tip | Make sure the entry you are adding references an existing bugzilla account. If needed, create one first.}}
For more information, refer to [[L10N_Maintainer| L10N Maintainer]] .


{{Anchor|stats-warnings}}
{{ Admon/tip | Make sure the entry you are adding references an existing Bugzilla account. If needed, create one first.}}
=== What are all those warnings on the stats pages? (#stats-warnings) ===


These errors warnings are shown to help us identify which projects have issues with their i18n support. Usually they are harmless (at least to translators), but sometimes help bugs to come to the surface, so they mostly interest developers and administrators.
{{Anchor|missing-strings}}
=== My file is 100% but when I test the application I still see English strings! (#missing-strings) ===


{{Anchor|intltool-errors}}
This wasn't a question, by the way.
==== intltool errors (#intltool-errors) ====


The most common ones (eg. "Can't generate POT file"). This usually means that the module doesn't use intltool for extracting strings, so we can't be 100% sure that all the strings marked for translation in the application do show up in the POT file. If the error ends to "Using old one", then the POT provided by the translator is used.
Nevermind. The following might have gone wrong:


[[Image:L10N_FAQ_l10nerror1.png]]
* The strings in question have not been marked for translation by the developer, hence they haven't been included in the POT file, and thus not in the PO file. He needs to use gettext on them.
* The source files of these strings have not been marked for inclusion, in the intltool case.
* The POT file of Transifex is not up to date. The component page includes the date when the POT file has been produced. If this is more than a few hours in the past, please notify the admins, otherwise it should be OK.
* The PO file you translated was not msgmerged. In this case Transifex will show a statistic less than 100% (since it auto-merges the files). You need to acquire the file from Tx or msgmerge it with the POT file yourself.


{{Anchor|missing-files}}
{{Anchor|100-percent}}
==== There are some missing files from POTFILES.in (#missing-files) ====
 
Some source files aren't used for string extraction. The developer will probably want to know about this (hint: open a bug report).
 
[[Image:L10N_FAQ_l10nerror2.png]]
 
{{Anchor|missing-from-linguas}}
==== Entry for this language is not present in (ALL_)LINGUAS file (warning) (#missing-from-linguas) ====
 
Some projects use some special files (po/LINGUAS, po/Makefile), to identify which languages are being shipped with their product -- for example, those which have translations > 80% complete. The languages mentioned in those files/variables are shipped/packaged, the others are not.


When these files are located in the VCS, the statistics interface tries to find the particular language in that file, and if it doesn't find it, it produces a warning. If you see this warning, most likely you will need to add your language in the respective LINGUAS file, or the appropriate variable in the Makefile.
If the module ships by default all languages but the warning still shows up, it can be safely ignored.
{{Anchor|where-to-look}}
==== Don't know where to look if this language is actually used (warning) (#where-to-look) ====
Tried searching in common locations (eg. <code>po/LINGUAS</code>, <code>Makefile</code>) to find if this language is actually used, but failed. For intltool-based modules, this means the language isn't shipped with the product (eg. [http://translate.fedoraproject.org/module/flp-website flp-website] ). For others, it can probably be ignored.
[[Image:L10N_FAQ_l10nerror3.png]]
{{Anchor|missing-files-no-pot}}
{{Anchor|error-no-pot}}
==== Some error (eg. Missing files from POTFILES.in) AND Can't generate POT file (error) (#error-no-pot) ====
Some modules don't provide a POT file and depend on <code>intltool</code> to dynamically produce one. This is great, however the maintainer needs to make sure the POT file ''can'' be generated and intltool doesn't choke (hint: <code>intltool -r</code> or <code>-m</code>). If intltool does choke, then there is no POT file for the translators (and the statistics interface) to work on and the error screen shown below is produced.
The developer should be notified immediately to fix this (eg. update their <code>POTFILES.{in,skip}</code> and reminded to keep them up2date). Here's a [https://bugzilla.redhat.com/show_bug.cgi?id=433456 template bug report]  for missing files from POTFILES.{in,skip}.
[[Image:L10N_FAQ_l10n-error-inexistent-potfilesin.png]]
{{Anchor|update-frequency}}
=== Are the statisics live? How often are they updated? (#update-frequency) ===
The statistics are automatically updated with a cron script, currently run around 1, 9, 17 UTC. Any changes to the files will reflect on the website a few minutes after each script run (up to half an hour).
You can see when was the last time the PO files were updated, on the module's page at a message like the following: ''Download POT file  POT file (217 messages) — updated on 2007-09-24 01:43:00 MST. ''  (MST is UTC-7). Also, you can see for each module/PO file the updated time inside the directories at http://translate.fedoraproject.org/POT/.
{{Anchor|100-percent}}
=== My PO file is 100% but that doesn't show up on the page. What's up? (#100-percent) ===
=== My PO file is 100% but that doesn't show up on the page. What's up? (#100-percent) ===


Line 180: Line 74:


* The statistics are not updated on-the-fly but on a scheduled base -- you might need to wait until the next run of the update script. See [[live|  #live]] .
* The statistics are not updated on-the-fly but on a scheduled base -- you might need to wait until the next run of the update script. See [[live|  #live]] .
* Most likely the PO file you submitted needed an msgmerge first, because it didn't contain the latest strings from the POT file. Let's say you checked out the PO file from the Version Control System (VCS), translated it 100% and committed it back. Before calculating the statistics, DL does an <code>msgmerge</code> on the PO file with the POT.
* Most likely the PO file you submitted needed an msgmerge first, because it didn't contain the latest strings from the POT file. Let's say you checked out the PO file from the Version Control System (VCS), translated it 100% and committed it back. Before calculating the statistics, Transifex does an <code>msgmerge</code> on the PO file with the POT.
 
{{Anchor|add-stats}}
=== What to do if a module is missing from the statistics page? (#add-stats) ===
 
In general, we add modules on the statistics page that ship with Fedora or are related to Fedora, and can [[submit|  receive translations]]  by translators.
 
If a module should be there that isn't, please do the following:
 
# Make sure your module uses the PO file format and all POs are inside one directory, eg. <code>./po/</code> (not in the <code>./locale/<lang></code> format)
# Enable anonymous clone/checkout on your repo/module.
# We need to add your name to <code>people.xml.in</code>, and your module to <code>fedora-modules.xml.in</code> and <code>releases.xml.in</code> (see [[L10N/Tools#cvs| L10N/Tools#cvs]]  for CVS information). Create chunks of XML for these files that reflect the changes you want to do (note: replace & with &amp;)
# Create a [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=l10n-requests bug report on l10n-requests] . Either paste the XML chunks created in previous step or attach a patch for the files on the bug report (preferred).
# Someone with a local copy of the website (see Maintainers on top of page) will test the changes and commit them.


{{Anchor|add-transifex}}
{{Anchor|add-transifex}}
=== How do I add a module to Transifex? (#add-transifex) ===
=== How do I add a module to Transifex? (#add-transifex) ===


To enable translators send contributions to your project through Transifex, you need to have a special VCS account for Transifex. The Fedora Infrastructure-side details are described at [[Infrastructure/SOP/Translations]].
To enable translators send contributions to your project through Transifex, you need to have a special VCS account for Transifex. The Fedora Infrastructure-side details are described at [[Translations_Infrastructure_SOP]].
 
==== Step 1: Enable access to your module ====
 
If the module is '''hosted on Fedora infrastructure:
 
* If you are the project maintainer, add [https://admin.fedoraproject.org/accounts/user/view/transif the "transif" user]  to your [https://admin.fedoraproject.org/accounts/group/list/ project's group in the Fedora Account System]  and sponsor him.
 
* If you are not the maintainer, open a bug report to that particular project with a request from the maintainers to add/sponsor the user and have that bug block the Transifex tracker bug, #436824. You can look at [https://bugzilla.redhat.com/show_bug.cgi?id=438122 bug #438122]  as a template if you'd like).
 
* This user is used by Transifex to push translations to your repo. This user shouldn't be removed in the future, otherwise translation submissions will fail for our translators.
 
* Go to step 2.
 
If the module is '''hosted elsewhere''':
 
# Your repository must allow access over SSH for it to work with Transifex (currently). Someone (eg. DimitrisGlezos) will create a keypair for you and send you the public key.
# Create a VCS account (eg. transifex-fedora) using the public key and give it write access to your module.
# Restrict this access only to the directories/files you want the translators to have access to (eg. <code>/po/*</code>). If this is not possible, don't worry too much: you can restrict access to the translators from inside Transifex through a regex.
# Test (if you can) that the above access and restrictions are in place.
# Add a comment on the bug report once everything is ready.
# Go to step 2.
 
==== Step 2: Let us know ====
 
Create a [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Localization&component=l10n-requests bug report on l10n-requests]  and add the following information on it:
 
<pre>Module name
Description
Project webpage
VCS root, module, branch
File filter (eg. <code>.*/po/.*</code>)
Changelog file (if applicable)
Web front-end to VCS
<Link to bug report/ticket of step 1> (if applicable)</pre>
 
Someone will test the write access, add it to Transifex, test with a file commit and report back.


Finally, send an email to fedora-trans-list and let the contributors know about the change. You're all done!
{{Anchor|elvis-move}}
== Elvis move Questions ==
{{Anchor|i18nrc}}
=== What was i18n.redhat.com? (#i18nrc) ===
i18n.redhat.com (also known as rhlinux or elvis) was our legacy localization server, maintained by Red Hat. In terms of Fedora, this server is deprecated in favor of using [http://translate.fedoraproject.org/ Fedora Infrastructure]  for hosting Fedora projects and most of the active modules hosted on elvis were moved to a Fedora server.
{{Anchor|missing}}
=== Why is a module missing from the 'translate' module on elvis? (#missing) ===
The 'translate' module was hosted on <code>i18n.redhat.com</code> (aka. 'elvis'), and it brought together many translatable resources. Fedora developers are moving their development space from this system over to Fedora systems, ie. servers maintained by the Fedora Infrastructure Group. All the modules that are no longer on elvis have been moved over to Version Controlled Systems in the form <code>*.fedorahosted.org</code>. The benefits from the move are increased development and administration efficiency, scalability of the translation platform, development of high-level totols, and encouraging more community work.
To get the translatable files see [#get-files]  and to submit them [#submit] .
{{Anchor|argh}}
=== The old way was simpler! Why are we doing this? Argh! (#argh) ===
Keeping things on a single, central place, being served with a specific, static way is indeed more simple than having them distributed and dynamic (think: Windows, Linux). Also, traditional systems are more simple than modern ones (think: '30s airplanes, modern ones).
We have grown to a huge project, and new Fedora-related projects (usually requiring translations!) are being started all the time -- see for example the list of projects over at https://fedorahosted.org/). While elvis was simple enough for translators, it only supported CVS, and many developers find working woth other types of VCSs magnitudes more efficient than CVS. Also, administrators are able to distribute the workload more efficiently when the systems are maintained by the community of Fedora.
In short, it was inevitable that at some point we'd have to move to a more community model. We are doing our best to simplify the way things work, so please bear with us until then. Any feedback/suggestion is valuable, so please bring it on via [http://bugzilla.redhat.com bugzilla reports]  or on fedora-trans-list.
{{Anchor|other}}
== Other questions ==
== Other questions ==


{{Anchor|no-pot}}
=== I'm a developer, how can I make .desktop files translatable? ===
=== Why isn't there a POT file in module X? (#no-pot) ===


Some developers use gettext to extract the strings in POT files when they build their package. Some others, though, use <code>intltool</code> to do it, which allows the POT file to be produced dynamically when needed. Hence, these modules sometimes don't have a POT file in their VCS, since it's not needed. To update your PO file (msgmerge), you can simply use:
Take a look at [https://www.redhat.com/archives/fedora-trans-list/2009-August/msg00040.html this email on fedora-trans-list].


<pre>cd po && intltool-update <language>
{{Anchor|ssh-key-denied}}
</pre>
=== When checking in/out, I get a "Permission denied" (publickey,keyboard-interactive) error (#ssh-key-denied) ===


If you need a POT file for some reason, you can use the following command to create one:
Most of the cases, this is a problem with SSH keys. When a user creates a new account, we associate an SSH key with it. When a new account is created, the user is requested to upload the public part of her SSH key (located in <code>~/.ssh/</code> of your PC), and this key is used to identify the user. This way is more secure than using a simple password. If you can't authenticate to cvs.fedoraproject.org, then the SSH key of the user on the system you are using doesn't have the same SSH key as the one we have on our servers, associated with your username.


<pre>cd po && intltool-update --pot
If you have changed your SSH key recently, please visit [http://admin.fedoraproject.org/accounts/ Edit your Fedora account]  and upload your new SSH key.
</pre>


Please note that not having a POT requires that <code>intltool-update</code> should run without any problems (see also: [#missing-files-no-pot] ). If not, or if you'd like a POT file present in the VCS regardless of the use of intltool, you can open a bug report against that module and ask the developer to provide one.
If you haven't changed your SSH key recently, make sure the system and user account you are using has your SSH keys (eg. copy them from your other PC).


=== Is the section of export regulations shown at the bottom of the fedoraproject.org/get-fedora page translatable? ===


{{Anchor|no-po-files}}
No. This is purposely set up as non-translatable. Please refer to [http://lists.fedoraproject.org/pipermail/legal/2010-March/001183.html Non-translatable export regulations?].
=== A module doesn't have PO files nor statistics at all! Can you fix this? (#no-po-files) ===


Unfortunately no, that's an issue the developer can solve. Please open a bug report against that particular project: for Fedora/RH stuff that would be either RH Bugzilla or the project's trac system on fedorahosted.org.
=== When is the merge happened for POT/POs? ===


{{Anchor|msgmerge}}
Straight after String Freeze, the developers will merge latest strings of software for the translators. It is same for documentation, the authors will merge latest strings of each document after their String Freeze. Software, Beta Release Notes, GA Release Notes and other guides have different String Freezes, and those are scheduled in "Translation Task List" for each release, which can be found under "Detailed Schedules" section in [https://fedoraproject.org/wiki/Schedule Schedule] page.
=== What's up with msgmerge? (#msgmerge) ===


Each PO file should have inside it all the strings that appear in the POT file; translated or not. If a string doesn't appear in the PO file, then the string in the original language will appear in the final resource. This leads to the following paradox: a PO file is 100% translated but the website shows less statistics, and even worse, the shipped application shows untranslated strings.
=== If some strings change past string freeze, how do I request a string freeze breakage? ===


Ideally, all POs should be msgmerged each time the POT is updated (ie. by the developer). But since this isn't always the case, the clients (eg. the translators and the website) need to make sure they are working on msgmerged files. The website runs an <code>msgmerge</code> before calculating the statistics: it takes the existing PO file, merges in any new strings from the POT file and then shows the numbers. It also provides a link to the msgmerged PO file with the green download link on the left of each language.
Email the [mailto:trans@lists.fedoraproject.org] mailing list!


To make sure your statistics are 100%, you can do either of the following:
=== What if I overwrite a wrong file? ===


# Use the status page to get the PO file, and submit that.
There can be two possibilities:
# Use the VCS directly to get the PO file, and msgmerge before translating. For modules with intltool support (they will have a file <code>po/POTFILES.in</code>):
1. You have overwritten wrong file in your own locale: you should locate the previous version of the overwritten .po file from http://git.fedorahosted.org/git/ and replace the wrongly updated file with this file.
<pre>cd po && intltool-update <language>
</pre>
For others:
<pre>export L='el' && mv $L.po $L.previous.po && msgmerge $L.previous.po *pot > $L.po
</pre>


{{Anchor|ssh-key-denied}}
2. You have overwritten file which belongs to some other language: in this case, you have to send an e-mail to the mailing list about this immediately, locate the correct file of that language from the http://git.fedorahosted.org/git/ and replace the wrongly updated file with this file.
=== When checking in/out, I get a "Permission denied" (publickey,keyboard-interactive) error (#ssh-key-denied) ===


Most of the cases, this is a problem with SSH keys. When a user creates a new account, we associate an SSH key with it. When a new account is created, the user is requested to upload the public part of her SSH key (located in <code>~/.ssh/</code> of your PC), and this key is used to identify the user. This way is more secure than using a simple password. If you can't authenticate to cvs.fedoraproject.org, then the SSH key of the user on the system you are using doesn't have the same SSH key as the one we have on our servers, associated with your username.
Even though these are measures to correct mistake, we strongly advice you to take extra care while submitting the translations via Transifex and make sure that you are uploading file in proper location under proper locale.
 
If you have changed your SSH key recently, please visit [http://admin.fedoraproject.org/accounts/ Edit your Fedora account]  and upload your new SSH key.
 
If you haven't changed your SSH key recently, make sure the system and user account you are using has your SSH keys (eg. copy them from your other PC).


[[Category:Localization]]
[[Category:Localization]]

Latest revision as of 20:58, 30 July 2024

Fedora L10N Frequently Asked Questions

Here are some FAQs about the Localization Project.

General Questions

What does "L10N" means?

L10N is an abbreviation of the term "Localization" by means of a so-called numeronym, a way of replacing the middle letters of a word (in case 'ocalizatio') by naming the number of letters between the first and last letter of that word (in case 10): Localization.

Should I translate legal notices?

No. You must never do that. The exact wording of the legal notices is very important and a translation not approved by lawyers is very risky. Red Hat is the legal representative and primary sponsor of the Fedora Project and does not have the resources to cross check every single translation. Just leave the original English notice in tact when it covers legal matters.

Where do I report issues or feature requests?

  • Issues or Feature requests specific to Fedora Infrastructure should be reported to [1]

e.g. XYZ package is not available for Translation Submission or Statistics.

  • Issues or Feature requests specific to Transifex should be reported to [2].

e.g. Statistics should show last committer information as well on the status page, Sorting of statistics should be available.

The fastest way of getting things done is to approach FLP-admin group via Matrix #l10n:fedoraproject.org(other clients|?).

Website Questions

The website of the Fedora Localization Project is http://translate.fedoraproject.org/.

Where are issues and requests for a website of the Translation Project reported? (#bugs)

The best place to report requests and issues about the Localization-specific websites, is Bugzilla, L10n/Website component. Here's a quick query of existing website reports.

Before opening a new bug report, please take a look at the above query to see if there's an existing report opened. It sometimes help to ask in #l10n:fedoraproject.org(other clients|?) if there's a known issue at that exact moment. If not, please open a bug report describing what's wrong with the service in clarity. Include the nature of the problem, the module/branch combination, the time (in UTC) it happened and your Fedora username. If you suspect it might be a problem with the particular file you are uploading or the target file, include that information as well.

If the issue is about Transifex as a software like feature requests and general problems not specific to the Fedora instance, please use the upstream ticketing system of Transifex .

How do I create a new team? (#new-team)

See L10N Maintainer on how to become a maintainer of a new language.

To add your team, create a bug report on l10n-requests. Include language, your name and FAS account, e-mail address, and URL to team's website and mailing list, if they exist.

How do I create a Bugzilla component for my language? (#bugzilla-team)

We have a separate Bugzilla component for every language, in order for bug reports to reach the correct people (ie. the ones that can fix them). We maintain these entries in an owners.list file on our VCS. You can find it in the L10n CVS, at /cvs/l10n/owners/. Each organized language group should have an entry there.

For more information, refer to L10N Maintainer .

Make sure the entry you are adding references an existing Bugzilla account. If needed, create one first.

My file is 100% but when I test the application I still see English strings! (#missing-strings)

This wasn't a question, by the way.

Nevermind. The following might have gone wrong:

  • The strings in question have not been marked for translation by the developer, hence they haven't been included in the POT file, and thus not in the PO file. He needs to use gettext on them.
  • The source files of these strings have not been marked for inclusion, in the intltool case.
  • The POT file of Transifex is not up to date. The component page includes the date when the POT file has been produced. If this is more than a few hours in the past, please notify the admins, otherwise it should be OK.
  • The PO file you translated was not msgmerged. In this case Transifex will show a statistic less than 100% (since it auto-merges the files). You need to acquire the file from Tx or msgmerge it with the POT file yourself.

My PO file is 100% but that doesn't show up on the page. What's up? (#100-percent)

There are a number of reasons this would happen, but here are the most common ones.

  • The statistics are not updated on-the-fly but on a scheduled base -- you might need to wait until the next run of the update script. See #live .
  • Most likely the PO file you submitted needed an msgmerge first, because it didn't contain the latest strings from the POT file. Let's say you checked out the PO file from the Version Control System (VCS), translated it 100% and committed it back. Before calculating the statistics, Transifex does an msgmerge on the PO file with the POT.

How do I add a module to Transifex? (#add-transifex)

To enable translators send contributions to your project through Transifex, you need to have a special VCS account for Transifex. The Fedora Infrastructure-side details are described at Translations_Infrastructure_SOP.

Other questions

I'm a developer, how can I make .desktop files translatable?

Take a look at this email on fedora-trans-list.

When checking in/out, I get a "Permission denied" (publickey,keyboard-interactive) error (#ssh-key-denied)

Most of the cases, this is a problem with SSH keys. When a user creates a new account, we associate an SSH key with it. When a new account is created, the user is requested to upload the public part of her SSH key (located in ~/.ssh/ of your PC), and this key is used to identify the user. This way is more secure than using a simple password. If you can't authenticate to cvs.fedoraproject.org, then the SSH key of the user on the system you are using doesn't have the same SSH key as the one we have on our servers, associated with your username.

If you have changed your SSH key recently, please visit Edit your Fedora account and upload your new SSH key.

If you haven't changed your SSH key recently, make sure the system and user account you are using has your SSH keys (eg. copy them from your other PC).

Is the section of export regulations shown at the bottom of the fedoraproject.org/get-fedora page translatable?

No. This is purposely set up as non-translatable. Please refer to Non-translatable export regulations?.

When is the merge happened for POT/POs?

Straight after String Freeze, the developers will merge latest strings of software for the translators. It is same for documentation, the authors will merge latest strings of each document after their String Freeze. Software, Beta Release Notes, GA Release Notes and other guides have different String Freezes, and those are scheduled in "Translation Task List" for each release, which can be found under "Detailed Schedules" section in Schedule page.

If some strings change past string freeze, how do I request a string freeze breakage?

Email the [3] mailing list!

What if I overwrite a wrong file?

There can be two possibilities: 1. You have overwritten wrong file in your own locale: you should locate the previous version of the overwritten .po file from http://git.fedorahosted.org/git/ and replace the wrongly updated file with this file.

2. You have overwritten file which belongs to some other language: in this case, you have to send an e-mail to the mailing list about this immediately, locate the correct file of that language from the http://git.fedorahosted.org/git/ and replace the wrongly updated file with this file.

Even though these are measures to correct mistake, we strongly advice you to take extra care while submitting the translations via Transifex and make sure that you are uploading file in proper location under proper locale.