Re: Catalan translation

2007-06-28 Thread Marc Garcia





You're right. I looked into stable release, and at l10n page
where catalan translation is missing. I just realized on it after
writing my message. My mistake.

Anyway, probably it'll be a good idea updating that page. :)

Malcolm Tredinnick wrote:

  On Wed, 2007-06-27 at 16:47 +, the_kid wrote:
  
  
Hi guys,

I'll start catalan translation. If anybody has already started it, or
want to contribute, please let me know.

  
  
Perhaps you should look at the source code first. Marc Fargas has been
maintaining a good Catalan translation for quite a while now.

Regards,
Malcolm

  


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups "Django I18N" group.  To post to this group, send email to Django-I18N@googlegroups.com  To unsubscribe from this group, send email to [EMAIL PROTECTED]  For more options, visit this group at http://groups.google.com/group/Django-I18N?hl=en  -~--~~~~--~~--~--~---





Re: Language names Upper/Lowercase

2008-06-16 Thread Marc Garcia

In my opinion the main problem here, is that the original words appear
in global_settings.py with a dummy translation, so there's no place in
Django itself where those strings are used.

What I would do is translating the strings in lowercase when it's the
correct form for the language, without duplicating or anything like
that, and then the user will have to capitalize it if creating a drop
down list (what isn't a problem or something strange from my point of
view). For other uses of the language names, it will appear in lower
case by default, what it'll be probably the expected behavior for most
users, and them will be able to capitalize it when necessary.

PS: I'm not sure if a drop down list with languages should use any
translation, imagine that I've to select english from a language list
with chinese names...

On Jun 16, 11:44 am, mrts <[EMAIL PROTECTED]> wrote:
> All languages in my neighbourhood use lowercase language names:
> Estonian, Swedish, Finnish, Latvian, Lithuanian, Russian.
>
> Using separate msgids for lower- and uppercase looks attractive, but
> then the ids in source don't match natural English any more (e.g.
> explicit lowercase could be used in the ids where they don't start a
> sentence: _("estonian")). That is a problem in case i18n is not used
> at all.
>
> _("Estonian") would be translated to en as "Estonian" and to et as
> "Eesti", whereas _("estonian") would be translated to en still as
> "Estonian" but to et as "eesti".
>
> Currently, Finnish django.po uses lowercase for language names, but
> Russian and Latvian django.pos use uppercase (which look unnatural and
> incorrect for native speakers).
>
> On Jun 16, 11:49 am, Marc Fargas <[EMAIL PROTECTED]> wrote:
>
> > Hi all,
>
> > Due to ticket #7461 an issue was raised about uppercase language names.
> > In English, languages are written with the first letter being uppercase
> > while other languages like 'es' and 'ca' write them lowercased unless
> > they're the begining of a sentence or single words.
>
> > This is currently impossible to distinguish with the current msgid's. So
> > two questions for everybody:
>
> >         * Which languages are affected by the same thing? (That is, which
> > languages type language names lowercase unless beggining sentences or
> > single words).
>
> >         * Any idea on how to get that information from the msgid's?
>
> > For the idea, one option would be having both msgid's (lower and
> > uppercase) so translation would be easy, but that would need the 'en'
> > locale to be up-to-date and having both msgstr set to uppercase. But
> > it's one possible solution. Ideas?
>
> > Thanks,
> > Marc
> > --http://www.marcfargas.com--will be finished some day.
>
> >  signature.asc
> > 1KDownload
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



i18n

2008-06-27 Thread Marc Garcia

Hi!

I just wanted to point you out, that I started a thread on django-
developers [1] about some improvements that could be done for a better
i18n of Django.

I'll try to include those changes on 1.0.

[1] 
http://groups.google.com/group/django-developers/browse_thread/thread/db149543262b5b21#
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



Trying to standardize django field translation

2009-03-10 Thread Marc Garcia

As most of you should know, there exist some different projects for
translating content in database when using Django. Every project has
some goals, and some handicaps, but most of them are trying to fix the
same problem.

So in this specific case, some people (including myself) would like to
see a project for translating fields that has the best of every
existing project.

With this in mind, I wrote a post on my blog [1], to let people vote
which model syntax would like for this new project. This syntax
shouldn't be related to any internal decision we'll take afterwards,
so I think that you can vote even if you are just potential users of
the future application.

Also, if you want to join us on the development, design... just let me
know.

Thanks and regards,
  Marc

[1] http://vaig.be/2009/03/django-multilingual-syntax-poll.html
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



About #7050 and not including on the catalog strings from applications already translated

2009-05-11 Thread Marc Garcia

Hi folks,

I'm going to work on ticket #7050 [1], and there are different options
that need to be discussed.

Let me summarize what ticket tries to fix, and what needs to be
decided...

Imagine that we have a Django project including three applications, A,
B and C. This project needs to be available in 3 languages (English as
main language and Catalan and German). Also imagine that we got
applications A and B from the Internet, and that the author already
translated them to some languages. A is translated in both Catalan and
German, and B just in German (the whole project including all
applications is coded in English).

App A (English, Catalan, German)
App B (English, German)
App C (English)

So what happens when we execute "python manage.py makemessages -a"?

Right now, what happens is that all strings from applications A, B and
C are included on the project catalog. Of course that's not optimal,
so we'll have to translate many strings that are already translated.

So, in the case of the A application, probably the best would be just
ignore it when creating the catalog.

In the case of the C application, probably we should include its
strings on catalogs for all languages.

But the most controversial part is what to do with B. Should we
include the strings from B in the Catalan catalog but not in the
German one? This i quite of messy. But if we don't do that, then it
should be translated inside the application, and that could be a
problem in some cases (may be the application is a external on our
subversion so we can't modify it).

More complicated would be if one application is partially translated
to a language. What to do in that case? Consider that the application
is translated? Consider that it's not? Add to our project catalog just
the strings that are not translated?

IMHO I would prefer to keep it simple, and just ignore applications
having a locale directory. Of course it'll be more work for developers
who will have to create catalogs for missing languages in localized
applications. And of course it'll be a problem if you don't have write
permissions on the application. But I think that is better for
(project) developers spending few time on creating some catalogs, than
on figure out how things work (or why things don't work as they
expect).

One thing I'm considering, is if it would it be worth creating a
parameter for the makemessages command (like --no-ignore) to force the
inclusion of all strings on the project catalog.

Thanks for sharing your opinion you too.

Regards,
  Marc

[1] http://code.djangoproject.com/ticket/7050







--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



i18n gsoc

2009-06-08 Thread Marc Garcia

Hi folks,

just wanted to let you know, that I started coding for the i18n
refactorization, and that you can already check the changes at [1].
See details of what this changeset does at [2].

For now, checking that code is only worth for developers interested on
Django itself, so actually nothing changed for the developer of Django
applications. Hopefully you'll be able to check some new features
soon.

Regards and thanks for your feedback,
  Marc

[1] http://code.djangoproject.com/changeset/10956
[2] 
http://groups.google.com/group/django-developers/browse_thread/thread/ef7415b32179122e
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



i18n branch ready for testing

2009-08-05 Thread Marc Garcia

Hi folks,

for those who don't know it, I've been working on a branch, where I
fixed some bugs, and where I tried to improve Django's i18n in
general. Basically what's done, is making Django consider current
locale when working with dates, numbers and calendars. For example,
admin's calendar, now, will start weeks depending on the current
locale, not always on Sunday.

Right now, this branch is in a kind of beta status, and feedback from
the community will be great.

To give it a try, follow next steps:
 * Get the branch from subversion [1], and use it for an existing
project, or for a new one.
 * Set up you settings file, to make sure you enable all the
formatting stuff. To do this make sure USE_I18N is set to True, and
create a new setting USE_FORMAT_I18N, also set to True.
 * Check if all formats for your locales are set on the branch. We
imported some of the formats from the CLDR (a unicode set of locale
definitions), but there are some that are not available. Formats are
defined in django/conf/locale//formats.py . You should
check that there is no setting commented or lacking value, and if
there is, please complete the file and mail me the patch, so I can
include it in Django. You will find documentation on what every
setting means on the settings documentation [2].

There is a list of tickets that have been fixed on this branch for now
[3]. It could be a start on things to try. You can also check "Format
localization" chapter on i18n docs [4].

Thank you for your feedback,
  Marc


[1] svn co 
http://code.djangoproject.com/svn/django/branches/soc2009/i18n-improvements
[2] 
http://code.djangoproject.com/browser/django/branches/soc2009/i18n-improvements/docs/ref/settings.txt
[3] 
http://code.djangoproject.com/query?status=new&status=assigned&status=reopened&keywords=~i18n-fixed&order=priority
[4] 
http://code.djangoproject.com/browser/django/branches/soc2009/i18n-improvements/docs/topics/i18n.txt#L1085
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



Django formats

2009-08-05 Thread Marc Garcia

Hi!

I'm contacting you because according to Django localization page [1] 
you're a Django translator.

The reason for this mail, is because I'm on the late steps of a new set 
of features of Django, that will allow applications to display data in 
locale specific formats (comma as decimal separator, Monday as first day 
of week, d/m/y dates...).

To complete this set of changes, I need that Django translators specify 
some of the formats for their locales, in order to use them. I imported 
as much as I could from the Common Locale Data Repository, but there are 
some settings that are not there.

Here you have the procedure, on how to do it:
 * Get the i18n branch [2]
 * Find you locale file in django/conf/locale//formats.py
 * Check English formats file [3] as reference, and also settings 
documentation [4]
 * Complete you locale file
 * Attach the patch to ticket #11637 [5]

Thanks a lot,
  Marc

[1] http://code.djangoproject.com/wiki/Localization
[2] svn co 
http://code.djangoproject.com/svn/django/branches/soc2009/i18n-improvements
[3] 
http://code.djangoproject.com/browser/django/branches/soc2009/i18n-improvements/django/conf/locale/en/formats.py
[4] 
http://code.djangoproject.com/browser/django/branches/soc2009/i18n-improvements/docs/ref/settings.txt
[5] http://code.djangoproject.com/ticket/11637


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



Re: Django formats

2009-08-05 Thread Marc Garcia

It surely won't be merged into trunk before August 17th (when GSoC 
ends), and probably it'll take more time than that. Anyway, formats will 
work more or less as translations, so if we don't have the ones for one 
locale, it'll use Django's defaults, so not having one shouldn't block 
the merge, and formats for that locale could be added later.

Thank you, and let me know when having them,
  Marc

Orestis Markou wrote:
> Is there a timeframe for this? I can supply Greek locale data but not 
> in the next week.
>
> Thanks for your efforts!
>
> Orestis
> -- 
> ores...@orestis.gr
> http://orestis.gr/
>
>
>
>
> On 5 Aug 2009, at 15:06, Marc Garcia wrote:
>
>> Hi!
>>
>> I'm contacting you because according to Django localization page [1] 
>> you're a Django translator.
>>
>> The reason for this mail, is because I'm on the late steps of a new 
>> set of features of Django, that will allow applications to display 
>> data in locale specific formats (comma as decimal separator, Monday 
>> as first day of week, d/m/y dates...).
>>
>> To complete this set of changes, I need that Django translators 
>> specify some of the formats for their locales, in order to use them. 
>> I imported as much as I could from the Common Locale Data Repository, 
>> but there are some settings that are not there.
>>
>> Here you have the procedure, on how to do it:
>> * Get the i18n branch [2]
>> * Find you locale file in django/conf/locale//formats.py
>> * Check English formats file [3] as reference, and also settings 
>> documentation [4]
>> * Complete you locale file
>> * Attach the patch to ticket #11637 [5]
>>
>> Thanks a lot,
>> Marc
>>
>> [1] http://code.djangoproject.com/wiki/Localization
>> [2] svn co 
>> http://code.djangoproject.com/svn/django/branches/soc2009/i18n-improvements 
>>
>> [3] 
>> http://code.djangoproject.com/browser/django/branches/soc2009/i18n-improvements/django/conf/locale/en/formats.py
>>  
>>
>> [4] 
>> http://code.djangoproject.com/browser/django/branches/soc2009/i18n-improvements/docs/ref/settings.txt
>>  
>>
>> [5] http://code.djangoproject.com/ticket/11637
>>
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



Re: Django formats

2009-08-07 Thread Marc Garcia

Yes, sorry for not specifying. Just note that input formats use
another syntax (the one used by datetime's strptime).

On Aug 5, 8:15 pm, Finn Gruwier Larsen  wrote:
> I suppose this must be the relevant list of allowed format codes and
> their mening:
>
> http://docs.djangoproject.com/en/dev/ref/templates/builtins/#ttag-now
>
> Regards,
>
> Finn
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



Re: Django formats

2009-08-08 Thread Marc Garcia

Hi Rudolph,

take a look at the English locale tests [1]. You could use it as
reference for writing tests for you locale. I don't think it's worth
to include tests for every locale into django, but if you do think so,
just share them with me.

Cheers,
  Marc


[1] 
http://code.djangoproject.com/browser/django/branches/soc2009/i18n-improvements/tests/regressiontests/i18n/tests.py#L228

On Aug 8, 10:20 pm, Rudolph  wrote:
> Hi,
>
> Would it be appropriate to add (unit)tests for the formats? This
> encourages all translators to actually test their formats before
> submitting and of course it has all other benefits of testing. If this
> is an good idea, I suggest to come up with an example set of tests so
> that everyone can adjust them to their local needs.
>
> Rudolph Froger
>
> On Aug 8, 5:06 am, Marc Garcia  wrote:
>
> > Yes, sorry for not specifying. Just note that input formats use
> > another syntax (the one used by datetime's strptime).
>
> > On Aug 5, 8:15 pm, Finn Gruwier Larsen  wrote:
>
> > > I suppose this must be the relevant list of allowed format codes and
> > > their mening:
>
> > >http://docs.djangoproject.com/en/dev/ref/templates/builtins/#ttag-now
>
> > > Regards,
>
> > > Finn
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to Django-I18N@googlegroups.com
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Django-I18N?hl=en
-~--~~~~--~~--~--~---



About multilingual models

2009-08-17 Thread Marc Garcia

Hi folks,

finally I had no time to start coding on multilingual models, as part of 
my GSoC project. I did some more analysis on the problem, and possible 
solutions; let me share them with you.

Basically, I arrived to the conclusion that there are two different 
approaches, both valid, and everyone more suitable depending on the 
website. Let me name these methods "model based" and "gettext like".

Summarizing, the model based idea is two define in every model the 
structure for translating necessary fields. The gettext like method 
would implement a catalog, and the translations would be decoupled from 
the models.

Let's explain both methods in more detail:

model based method
-

This method is specially interesting in websites where all translations 
are provided at the same time. The idea is that doesn't exist a main 
language, and we don't want to show another language if the string 
doesn't have a value for current language. Imagine you have a virtual 
shop build in Django, and you sell products to the US and China. I don't 
think it's useful displaying Chinese texts to Americans, or English 
texts to Chinese users. Person inputting data on Django probably will 
have product name and description in both languages in paper, Excel... 
or any other media, so it makes more sense filling all data (in all 
languages) at the same time, than entering the product in English, and 
then translate in another place.

In this case the admin should allow filling all translations at the same 
time, and if a field is required, it should be required for all languages.

In this case I would specify this syntax to let Django know that we want 
this field translated:

class MyModel(models.Model):
my_i18n_field = models.CharField(max_length=32, translate=True)

Main advantage of this method is that we have the translate property 
together with the field definition. This makes easy to know if a field 
will be translated or not after coding the models.

 From the database point of view I would create an extra table for every 
model, with next structure:

* id
* main_table_id
* language_code
* field1
* field2
* ...

So, to get data would be necessary to join both tables filtering by 
current language code. That would make easy to filter, sort or search by 
any of the translated fields.

gettext like method
---

This method would be more suitable for websites where we provide a 
content in one language, and then, we want to offer this content in as 
much languages as possible. Imagine a kind of wiki. We write articles in 
English, and then we allow users, or we hire translators, to make this 
articles available in other languages.

In this case we pretty much emulate the way gettext works. We provide 
the content in the main language (on the admin for example), and then 
translators access those contents to provide translators. In some cases 
it won't be strictly like in gettext, where you usually don't care much 
what the text is used for. It would be great having the ability to 
provide a link on every article saying "translate it to your language" 
if it's not.

While the other method would also work for marking fields as able to be 
translated, in this case I would choose something more decoupled from 
models. I would use a syntax more close to the admin one. Just 
specifying outside the models, which ones we want to translate, and 
which fields. Main advantage of this syntax is that we can translate 
fields from existing applications without modifying them.

class MyModelTranslation(multilingual.Translation):
translate = ('my_i18n_field',)

multilingual.register(MyModel, MyModelTranslation)

A database structure to support this functionality could be just having 
a table named "catalog" where all translations are set. It would be like 
a .po file:
 * language_code
 * msgid
 * msgstr

also it would be interesting to provide information about the places 
where this string is located:

* msgid
* model/field/id

There are two important problems with this structure. First one is that 
filter, sort by translatable fields will be almost impossible. Searching 
would be possible (but slow). Second problem is that we would have to 
store all values as strings, or just allow translating strings, because 
same field would be used to store all translations on the system.

Main advantage of this method is that is quite easy to decouple the 
whole translation engine from Django. Modifying an existing application 
to allow translating database content could be set up in minutes, 
without modifying the existing code.



These are my thoughts about that. Both ideas still need more discussion 
and improvements.

Regards,
  Marc

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django I18N" group.
To post to this group, send email to django-i18n@googl

Transifex

2011-02-06 Thread Marc Garcia
Hi there,

as a language coordinator, I would like to see what other contributors
translated in Transifex. Is it a way to do it? I can't find it.

Another thing. I would like to know (if possible) how it'll be the
procedure to update the code from transifex translations, and how code
changes will arrive to transifex. I don't care on the details, but
just to know if it's automated, how often it'll be done (or in other
words, how long it'll take to a change in code/transifex to be updated
in the other part). And most important, do we coordinators need to do
anything?

Thank you!
  Marc

-- 
You received this message because you are subscribed to the Google Groups 
"Django internationalization and localization" group.
To post to this group, send email to django-i18n@googlegroups.com.
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-i18n?hl=en.



Re: Transifex

2011-02-07 Thread Marc Garcia
Thanks for the explanations Jannis, and sorry for making you repeat
the second part, I checked if you already explained this in this same
list, but couldn't find it.

Cheers,
  Marc

On Feb 7, 1:12 am, Jannis Leidel  wrote:
> On 06.02.2011, at 23:48, Marc Garcia wrote:
>
> > as a language coordinator, I would like to see what other contributors
> > translated in Transifex. Is it a way to do it? I can't find it.
>
> Not afaik through the web UI, although the Transifex developers could give 
> more details on that. I know an action log is saved, but I'm not sure if it's 
> possible to show it at the moment. FWIW, you can see the changes by looking 
> at the diff using transifex-client.
>
> > Another thing. I would like to know (if possible) how it'll be the
> > procedure to update the code from transifex translations, and how code
> > changes will arrive to transifex. I don't care on the details, but
> > just to know if it's automated, how often it'll be done (or in other
> > words, how long it'll take to a change in code/transifex to be updated
> > in the other part). And most important, do we coordinators need to do
> > anything?
>
> I've answered some of this in my initial announcemnt email:
>
>  http://groups.google.com/group/django-i18n/browse_thread/thread/6bf6b...
>
> But to summarize:
>
> 1. The files in en/LC_MESSAGES/ in SVN will be updated on the day of the 
> string freeze at the latest, when the release candidate is released. 
> Aditionally, Transifex is set up to automatically sync them every day.
>
> 2. Translation updates made on Transifex are pulled into the Django SVN repo 
> prior to cutting a new release or whenever it's convenient.
>
> For both steps no intervention is needed from the language coordinators.
>
> Using transifex-client
> --
>
> Since it was asked before and I'm not sure if I've said it explicitly, 
> translators can also use the transifex-client [1] tool to push (assuming 
> permissions) and pull translations. It's the same tool that's used by the 
> core devs to pull updates from Transifex.
>
> For example, assuming you're in a recent SVN working copy, running this 
> updates the PO files of the German core translation:
>
>   tx pull -r django.core -l de
>
> Next, after updating the German translation, you can push it up again:
>
>   tx push -r django.core -l de --translations
>
> Jannis
>
> 1:http://pypi.python.org/pypi/transifex-client/

-- 
You received this message because you are subscribed to the Google Groups 
"Django internationalization and localization" group.
To post to this group, send email to django-i18n@googlegroups.com.
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-i18n?hl=en.