Well see now a lot of it makes sense. The guide is pretty vague on
i18n/l10n and how it works / is used.

Will give this a try.

On Oct 13, 5:39 pm, "Larry E. Masters aka PhpNut" <[email protected]>
wrote:
> Incorrect, the file that is created using the i18n extract creates a .pot
> file which is a template file and can be opened in any po editor or text
> editor. The template is not language specific. There is no reason to create
> these files by hand. Write your code and output using the sentences you
> would normally use just wrap the string in __() function. Run the extractor
> and you are done.
> Easiest tool to edit translations I have recently found is 
> poedit.www.poedit.net
>
> I uploaded current core extracted pot file.
>
> http://cake-php.googlegroups.com/web/default.pot
>
> Download it and open in poedit.
>
> The nice thing about these pot file is you can create a new version with
> changes in your application, reopen the template in poedit, and it will
> merge changes highlighting the strings that have changed.
>
> Not sure if you are aware how the other translation functions work in the
> core, but when it comes to handling plurals in a sentence, your slugs will
> become more confusing.
>
> for($number = 0; $i < 100; $number++) {
> sprintf(__n('There is %d apple in the fruit bowl', 'There are %d apples in
> the fruit bowl', $number), $number);
>
> }
>
> msgid "There is %d apple in the fruit bowl"
> msgid_plural "There are %d apples in the fruit bowl"
> msgstr[0] ""
> msgstr[1] ""
> msgstr[2] ""
> msgstr[3] ""
> msgstr[4] ""
> msgstr[5] ""
> msgstr[6] ""
>
> There are 16 plural rules that range from 1 form of plural to 6 forms of
> plural depending on the value of $number. It all depends and the language
> the content is being translated to. The above example be based on the header
> in the po file, which poedit allows you to set based on the language you are
> using.
>
> Only 1 form of plural.
> "Plural-Forms: nplurals=1; plural=0;\n"
>
> 6 forms of plural.
> "Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : n==0 || (n>=3 &&
> n<=10) ? 2 : 3;\n"
>
> 14 other forms or plural are available. These will be added to the
> translation site I had online for the project before. This will be coming
> back online in the next few weeks. They will also be added to the book, with
> corrections on the proper use of these functions soon. If you need the
> correct plural form before then, let me know and I can reply with it.
>
> --
> /**
> * @author Larry E. Masters
> * @var string $userName
> * @param string $realName
> * @returns string aka PhpNut
> * @access  public
> */
>
> On Tue, Oct 13, 2009 at 6:50 PM, Miles J <[email protected]> wrote:
>
> > But you would need to make the english po file anyways if you are
> > going to distribute it and have it translated.
>
> > On Oct 13, 12:58 pm, "Larry E. Masters aka PhpNut" <[email protected]>
> > wrote:
> > > So you are basically using these as "defines"?
> > > --
> > > /**
> > > * @author Larry E. Masters
> > > * @var string $userName
> > > * @param string $realName
> > > * @returns string aka PhpNut
> > > * @access  public
> > > */
>
> > > On Tue, Oct 13, 2009 at 2:19 PM, euromark (munich) <
>
> > > [email protected]> wrote:
>
> > > > i agree with miles
>
> > > > they should be slugged, short and precise
> > > > and explained in both the english and foreign .po file
>
> > > > like
>
> > > > "regMessageSuccess"
> > > > and
> > > > "You have been successfully registered"
> > > > "Sie sind nun erfolgreich angemeldet"
>
> > > > or
> > > > "valErrorRecordNameExists"
> > > > for
> > > > "A record with this name already exists"
>
> > > > this way you can easily change the "original" language text (here:
> > > > english) without having to change all the x places in the script as
> > > > well
>
> > > > maybe it is now supposed to be
> > > > "You cannot have two records with the same name"
>
> > > > but the short slugged term has still the same basic meaning and
> > > > therefore remains the same
>
> > > > On 13 Okt., 18:12, Miles J <[email protected]> wrote:
> > > > > I am personal extremely against naming your ids the full sentence,
> > > > > what purpose does that serve? Its longer in both the .po and .ctp
> > file
> > > > > and its a lot easier to reference slugs. To each his own I guess.
>
> > > > > On Oct 13, 7:42 am, "Larry E. Masters aka PhpNut" <[email protected]>
> > > > > wrote:
>
> > > > > > Another thing I forgot to mention. You should be using full strings
> > you
> > > > want
> > > > > > translated for the msgid.Example:
>
> > > > > > msgid "By registering on this web site you are..."
>
> > > > > > This is the way the core was designed to handle translations. You
> > will
> > > > also
> > > > > > find it much easier for people to translate your application if
> > they
> > > > have
> > > > > > everything they need in the 1 .po file vs looking for the text
> > related
> > > > to a
> > > > > > place holder.
>
> > > > > > --
> > > > > > /**
> > > > > > * @author Larry E. Masters
> > > > > > * @var string $userName
> > > > > > * @param string $realName
> > > > > > * @returns string aka PhpNut
> > > > > > * @access  public
> > > > > > */
>
> > > > > > On Tue, Oct 13, 2009 at 9:13 AM, Rob <[email protected]> wrote:
>
> > > > > > > Any1 thought about creating little snippet which could speed up
> > > > > > > hardcoded localization process.
> > > > > > > Here is the simple scenerio:
> > > > > > > 1) find strings within __('...') __('...',true) string patterns
> > in /
> > > > > > > app folder
> > > > > > > 2) build arrays from default locale *.po files containing locale
> > keys
> > > > > > > 3) append to end of these files missing id keys in form:
> > > > > > > msgid "_register_disclaimer"
> > > > > > > msgstr "TOODOO"
>
> > > > > > > i create many multilang apps and i believe it could be major
> > speed
> > > > > > > boost for ppl like me.
> > > > > > > we dont need to update these files manually every time we use
> > __().
> > > > we
> > > > > > > just run script when app is ready or changed and just update
> > TOODOO
> > > > > > > strings or send them to translators.
>
> > > > > > > If some1 came up with idea how this could be easly done i would
> > > > > > > apreciate this.
>
> > > > > > > regular expressions? if so, how to build fault free one?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to