How would we update this method so it also gets all the strings from the
gluon package? When you click update all languages it only looks in the
specific language folders. This should also look in the gluon package and
ideally there should be away to add locations for it to look.

def findT(path, language='en-us'):
    """
    must be run by the admin app
    """
    filename = os.path.join(path, 'languages', '%s.py' % language)
    sentences = read_dict(filename)
    mp = os.path.join(path, 'models')
    cp = os.path.join(path, 'controllers')
    vp = os.path.join(path, 'views')
    for file in listdir(mp, '.+\.py', 0) + listdir(cp, '.+\.py', 0)\
         + listdir(vp, '.+\.html', 0):
        fp = portalocker.LockedFile(file, 'r')
        data = fp.read()
        fp.close()
        items = regex_translate.findall(data)
        for item in items:
            try:
                message = eval(item)
                if not message.startswith('#') and not '\n' in message:
                    tokens = message.rsplit('##', 1)
                else:
                    # this allows markmin syntax in translations
                    tokens = [message]
                if len(tokens) == 2:
                    message = tokens[0].strip() + '##' + tokens[1].strip()
                if message and not message in sentences:
                    sentences[message] = message
            except:
                pass
    write_dict(filename, sentences)

On Sun, Mar 11, 2012 at 8:39 AM, Bruce Wade <bruce.w...@gmail.com> wrote:

> Okay,
>
> Well maybe it is just me but I think when you click the update
> translations button in admin, it should automatically grab ALL
> strings especially default strings in admin so we can translate them. For
> example with pyramid you use python setup.py extract_messages this will go
> through every single file in the project to pull out the translate able
> strings.
>
> Would it be difficult to change the way translation works to do this?
>
>
> On Sun, Mar 11, 2012 at 5:21 AM, Alan Etkin <spame...@gmail.com> wrote:
>
>> When messages object is instantiated, T is passed as argument
>> probabbly to process default auth values for translation.
>> Then .password_reset_button is set without T(...), so for automatic
>> translation, there should be some operator overloading for the Message
>> instance to translate the text without explicit T call, otherwise, the
>> attribute will just be set without further actions.
>>
>> On 11 mar, 01:26, Bruce Wade <bruce.w...@gmail.com> wrote:
>> > Hi,
>> >
>> > I was looking at the Auth class, why are settings like the following not
>> > showing in the language translations files by default?
>> >
>> >         # ## these are messages that can be customized
>> >         messages = self.messages = Messages(current.T)
>> >         messages.password_reset_button = 'Request reset password'
>> >
>> > I have no idea what Messages(current.T) is supposed to do however the
>> above
>> > string is not found in the languages files.
>> >
>> > --
>> > --
>> > Regards,
>> > Bruce Wadehttp://
>> ca.linkedin.com/in/brucelwadehttp://www.wadecybertech.comhttp://www.warplydesigned.comhttp://www.fitnessfriendsfinder.com
>>
>
>
>
> --
> --
> Regards,
> Bruce Wade
> http://ca.linkedin.com/in/brucelwade
> http://www.wadecybertech.com
> http://www.warplydesigned.com
> http://www.fitnessfriendsfinder.com
>



-- 
-- 
Regards,
Bruce Wade
http://ca.linkedin.com/in/brucelwade
http://www.wadecybertech.com
http://www.warplydesigned.com
http://www.fitnessfriendsfinder.com

Reply via email to