Closed Bug 57440 Opened 24 years ago Closed 23 years ago

Make default mail folder names localizable

Categories

(MailNews Core :: Localization, defect, P2)

x86
All
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla1.0

People

(Reporter: karl, Assigned: naving)

References

(Blocks 1 open bug)

Details

(Keywords: l12y)

Attachments

(2 files, 1 obsolete file)

In the mailnews tree, the localized names of special folder (Inbox, Trash &c.)
are displayed but in the message filters and e-mail and news settings, they're
not. Example:

In 'Copies and Folders' you can choose where to place a copy of outgoing
messages. Here, the names of the special folders are called 'Sent', 'Draft' and
'Templates', and the localized names aren't use. The same goes for the message
filters 'Move to' option.
Correction: Localized folder names for special folders are *aren't* being
displayed in the 'Messenger Folders' list either.

(The reason why I sais they were, is that I imported some folders from (a
localized) Outlook Express, and the (localized) names given to the folders there
were being used.)
Keywords: mozilla1.0
Product: Browser → MailNews
Which properties file or dtd? 
The strings are contained in 'messenger.properties' but aren't being used.
Blocks: 12394
There are some reasons we don't localize them. Momoi, am I right? You can 
explain better. Reassigned to momoi.
Assignee: rchen → momoi
I believe that this is a core bug.
Ideally we should be able to localize these names.
However, doing that takes more than a little work
since these default folders are used for various
internal operations. This is the reason why NS L10n
team did not press on it so far.

I think this is going to miss the RTM for NS6, but
it would be a good idea for the mail team to assess
hoe much work it would take to be able to localize
default folder names and at the same time not have
any operations involving these default fodlers to fail.

I'm going to send this over to mscott first. Please
re-assign as needed.
Sending it so mscott@netscape.com.
Assignee: momoi → mscott
> I believe that this is a core bug.
> Ideally we should be able to localize these names.
> However, doing that takes more than a little work
> since these default folders are used for various
> internal operations.

Of course, internal names should be completely separate from external 
(displayed) names.

> This is the reason why NS L10n
> team did not press on it so far.
>
> I think this is going to miss the RTM for NS6,

Well, I'm only interested in localizing Mozilla, so I can wait ... :)

> but
> it would be a good idea for the mail team to assess
> hoe much work it would take to be able to localize
> default folder names and at the same time not have
> any operations involving these default fodlers to fail.

I remember these were localizable before (I'm not 100% positive, but I think 
so).
I did a fair amount of work to make these localizable... I'm not sure what went
wrong. the values are in messenger.properties, as
sentFolderName/draftsFolderName/etc...

I think the problem is that either the datasource has busted and is returning
the internal names, or the rdf <template>s are requesting the wrong name of the
folder
We had a problem with finding POP mail folders like Inbox, i.e.
Inbox will not load at all, when default folder names like Inbox
were localized. In the NS-internal Bug database #1823
, we describe the problem caused by localizing these folders.
We don't have a problem with IMAP folder names as these are
stored using UTF-7 (modified) locally.

We also discussed this same issue in Bug 14421 and both sspitzer and alecf
commented there. As I stated in Bug 14421, in principle even
default folder names should be localizable. We just might not have
sound foundation to support that desirable results even if the
strings become localizable again. But this should be something we
can work on post-6.0.

Sending to alecf since he seemed to have worked on this issue
last.
Assignee: mscott → alecf
reassigning to putterman. Alec isn't working on mail anymore.
Assignee: alecf → putterman
btw, we do have a pretty sound foundation for this - I actually think this might 
just be a display issue - the foldernames on disk might be the actual localized 
names...
Of course folder names should be localizable. *But*, their internal 
representation (e.g. their file names) should *not* be. It should be a clear 
separation of underlying names and the displayed names (just like the 'To' 
and 'From' lines are translated when viewing e-mails, but sent as 'To' 
and 'From').
There's no reason why the foldername on disk, and the folder name in the URI,
can't match the foldername displayed to the user. In fact, it would probably be
nicer if they matched, just so that users could recognize them on disk in case
they wanted to back them up by hand, etc... The only required difference between
the displayed name and the on-disk name is the encoding.
>There's no reason why the foldername on disk, and the folder name in
>the URI, can't match the foldername displayed to the user. In fact,
>it would probably be nicer if they matched, just so that users could
>recognize them on disk in case they wanted to back them up by hand,
>etc...

I disagree. This would make it harder to keep track of "special" folders. There 
would need to be a mapping between disk folder name and what that folder "is". 
Other e-mail programs providing a Mozilla e-mail import feature would have to 
check with a separate file what the names of the special folders is (most 
probably won't, and would therefore only work with the English localization.

And what would happen if the user changes to another language (pack)?

- we already use mork (.msf) files to determine the Sent/etc status - we've
never relied on the on-disk name
- changing language packs does not matter - the folder is created and then
"flagged" at runtime.

If you're interested in persuing this, I suggest you learn a bit more about our
architecture - start with the big picture
(http://www.mozilla.org/mailnews/arch/) and then start reading the code
(http://lxr.mozilla.org/seamonkey/source/mailnews)
> - we already use mork (.msf) files to determine the
> Sent/etc status - we've never relied on the on-disk name

OK, that's good.

> - changing language packs does not matter - the folder is
> created and then "flagged" at runtime.

What I meant is that the name of the file doesn't change when you change 
language pack (or does it?). If it doesn't, we can't use the file name as 
display name.
nominating as mail3 and reassigning to sspitzer
Assignee: putterman → sspitzer
Keywords: mail3
Keywords: l12y
marking nsbeta1+ and moving to mozilla0.8
Keywords: nsbeta1
Priority: P3 → P2
Whiteboard: [nsbeta1+]
Target Milestone: --- → mozilla0.8
reassigning to naving.
Assignee: sspitzer → naving
Take the case of local folders they are created with the on-disk name.
So I think we should have the same display name and on-disk name 
> Take the case of local folders they are
> created with the on-disk name.
> So I think we should have the same display name and on-disk name

Do you mean that the on-disk name (file name) should change when the user
installs a new language pack, then?
Here's what'd I'd suggest:

for local folders, the name on disk should always be ASCII (like "Sent"), the
internal uri would be ASCII (like "mailbox://nobody@Local Folders/Sent") and the
displayed name should localized.  ASCII file names will always work.  

We should not change the folders on disk based on the language pack.

We already have nsMsgLocalMailFolder::GetPrettyName().  Check if the folder
flags there, and if it is a special folder, return the appropriate localized
name (from the string bundle).  

Be efficient and only retrieve the localized names for the special folders once
from the string bundle.

comments?
I agree with sspitzer's last comments.  Navin and I were talking about this the
other day and it seems that if we localize the names on disk that we have
scenarios where we run into trouble.  Having a common name across all releases
on disk means that someone could install different localized versions on the
same machine and have everything work fine.
moving to mozilla0.9.  We need to do further evaluation about how hard this will
be and how much risk it will be to the code to get this right.
Target Milestone: mozilla0.8 → mozilla0.9
marking nsbeta1- and moving to future milestone. It looks like this will be
pretty risky to do.
Keywords: nsbeta1nsbeta1-
Whiteboard: [nsbeta1+] → [nsbeta1+ 2/13]
Target Milestone: mozilla0.9 → Future
Changed QA contact to andreasb@netscape.com.
QA Contact: teruko → andreasb
jenm - can you respond to scott's message? this needs to be fixed because folder
names appear in english rather than the localized languages. Bad for the user to
see/use.
changing QA contact to ji@netscape.com.
QA Contact: andreasb → ji
Scott - Can you clean the Status Whiteboard? It conflicts with the nsbeta1- you
have given this bug.
the status whiteboard indicatees to me that we cut an nsbeta1+ bug on 2/13. The
keyword and target milestone show it's current state.
Whiteboard: [nsbeta1+ 2/13] → [cut nsbeta1+ 2/13]
ah, maybe i read it wrong the first time. thought u saw [nsbeta1+ 2/13]
Blocks: 81914
Due to this problem, the localizer is unable to localize the default mail folder
names. Considering the default mail folder names are localizable at 4.7x and a
lot of complaints and bugs from outside localizer, we need to set an appropriate
milestone for this.
Summary: Localized names of special folders not displayed → Make default mail foldername localizable
Summary: Make default mail foldername localizable → Make default mail folder names localizable
It's going to be at least a few milestones away, hence the future.
Jenm/Roberts - Nominating for TM0.9.4. Request from CompuServe DE.
Keywords: intl, nsBranch
Keywords: intl
Blocks: 99230
Marking nsbranch- as it was decided in the August bug triage that we wouldn't
have eenough time in eMojo to fix this.  Let's revisit for MachV.

Keywords: nsbranch-
cleaning up nsbranch keywords. 
Keywords: nsbeta1-, nsbranch
No longer blocks: 99230
I'm localizing Mozilla to Asturian, and my opinion is that the name of the
folders should be localizable, but the name of the on-disk files or folders
should be kept in English. That's much better than keeping everything in
English, because most of the people won't look at the saved folder, and most of
the programs will find the folders in order to import emails. This will allow to
change language and keep all your email folders with your messages, but the name
of the folders will be localized in the UI.

It's almost one year since this bug started, and I think that keeping the
on-disk folder name in English is less worse than keeping the UI in English
(that for many people doesn't mean anything).

Xose
Blocks: 107067
Keywords: nsbranch-
Nominating for nsbeta1.
Keywords: nsbeta1
Keywords: mail3, nsbeta1nsbeta1+
Whiteboard: [cut nsbeta1+ 2/13]
These folders really need to be localizable. navin - do you have a status? 
Right now we have to keep the folder names in English in our localized builds.
It doesn't look good to our int'l customers. 
Keywords: nsbeta1+nsbeta1
I will not be working on this anytime soon. Next 2 milestones are for footprint
and performance related issues only.
Keywords: nsbeta1nsbeta1+
Nominating Mach V.
Target Milestone: Future → mozilla0.9.8
Please don't touch target milestones.  Add an nsbeta1 to the keywords if you
want to nominate this.  As you can see, the nsbeta1+ means that we are currently
planning on doing this.  I haven't scheduled it yet.
Target Milestone: mozilla0.9.8 → Future
Sorry - my bad.
reassigning to cavin.
Assignee: naving → cavin
Target Milestone: Future → mozilla0.9.9
No longer blocks: 107067
Blocks: 107067
This is really a annoying problem when migrating from localized previous
versions, like from Simplified Chinese Communicator 4.51. After migration, since
we can't localize the default mail folder names in mozilla, the user will have
two sets of default mail folders, one is in English and the other one is in
localized language. And the old mails (before migration) will be kept in old
localized default mail folders. The user has to switch mail boxes after
migration to read his/her old mails in Inbox, Sent, Draft....
Status: NEW → ASSIGNED
Target Milestone: mozilla0.9.9 → mozilla1.0
Discussed at 2/19/02 bug meeting w/ Eng/PjctMg/Marketing: decided to move to
1.2, and change nsbeta+ to nsbeta-
Keywords: nsbeta1+nsbeta1-
Target Milestone: mozilla1.0 → mozilla1.2
Making depend on 122274
Depends on: 122274
Blocks: 64199
renominating; please involve IQA (Andreas Becker) when you triage this bug, they
have input that can explain why it's needed. We are planning on some
localization work and this will be a very nasty bug in future versions
Keywords: nsbeta1-nsbeta1
Fixing dependecy which I mis-entered on 2/20
No longer depends on: 122274
Blocks: 122274
International group has renominated this. Please see comments #48.
Removed dependency on bug 122274 for now.
No longer blocks: 122274
Need input from Andreas.  I have the action item to invite him to 2/26 bug
triage meeting at 2pm.
Target Milestone: mozilla1.2 → mozilla1.0
reassigning to naving.
Assignee: cavin → naving
Status: ASSIGNED → NEW
Keywords: nsbeta1nsbeta1+
Attached patch proposed fix (obsolete) — Splinter Review
The general idea is to have a prettyName or displayName that will use the
localized names for default folders. We already have prettyName attribute
on nsIFolder and I'm using that. So when we are discovering imap/local folders
we look for a special folder and set the prettyname if it is a special folder. 

If you look at localFolder, I'm setting in a few places because "Empty trash"
creates new trash folder and when we create new pop/local accts we set the flag

on default mailboxes, so prettyName has to be set. For imap when we are
synching
folders with the imap server, then also we need to set the prettyName. imap
subscribe part had to be changed because it was showing all server folder names

so I had to get the prettyName for default special folders to show them in the 

UI. Now when the user changes subscribe setting for any folder, we need to
convert the localized name to our "internal names" and send them to server. 

I also removed some confusing comments about getting string bundles for well
known "internal names" like INBOX, Sent....and also removed string bundle stuff

from pop3IncomingServer - never used. 

Testing..
I have tested existing pop, imap, new pop, imap and migrated pop, imap accts
also webmail and aol have been tested. Common operations like receiving,sending

deleteing and copying mail, all have been tested, Saving to drafts & templates,

Send later have been tested, All ui's where folder names appear like menus, 
offline selection search/filter , new folder ui have been tested. also 
tested cyrus imap server and everything looks good. Next msg navigation also
shows special localized names, I will continue to look for more things. 

david, need review.
cc bienvenu for review
+PRUnichar *nsImapIncomingServer::kInboxName = 0;
+PRUnichar *nsImapIncomingServer::kTrashName = 0;
+PRUnichar *nsImapIncomingServer::kSentName = 0;
+PRUnichar *nsImapIncomingServer::kDraftsName = 0;
+PRUnichar *nsImapIncomingServer::kTemplatesName = 0;
+PRUnichar *nsImapIncomingServer::kUnsentName = 0;

no need to initialize these to 0; they're globals, so they'll be initialized by
the linker.

I think these variables should have better names to help avoid confusion.
Something like kLocalizedTrashName or kLocalizedInboxName; I think this would
help avoid people using them thinking that they're equivalent to "Trash" or "Inbox".

Re the whole imap subscribe stuff - I'd be just as happy if we didn't show those
names localized in the subscribe ui and it would cut down on the diffs
considerably. The rationale is that the subscribe UI is a power user feature,
and power users would probably rather know what the folders were really called
on the server, kinda like what the folders are really called on disk. Opinions?
I will change the names to kLocalizedInboxName... after we know, what we are
doing with subscribeUI. 
I'm not sure about the subscribe dialog.  My initial feeling is that it should
show whatever is shown in the folder pane.  However, it sounds like not doing
this would cut down on risk so since this is a very advanced feature, I'd be
fine without making the changes to IMAP subscribe.
the subscribe ui is the only way for users to know what's going on on the
server, and I'm uncomfortable lying about what the folders are called everywhere
without having some sort of "out".
I think that's fine.  If we get feedback to suggest otherwise, we can add it to
subscribe later.
My preference was to show it just like folder pane. I have tested it and it looks
ok, but seeing previous two comments -looks like a decision has been made. 
I'll attach a new patch. 
Attached patch proposed fixSplinter Review
removed the imap subscribe part and changed names to 'localized'
Attachment #72096 - Attachment is obsolete: true
Comment on attachment 72473 [details] [diff] [review]
proposed fix

r=bienvenu, except I'm wondering why you're checking both the folder flags AND
the name before setting the pretty name. Is there some case where this makes a
difference? Why not trust the folder flags? Is it in case we have multiple
folders with that flag set? Or are you just being extra careful?
Attachment #72473 - Flags: review+
Comment on attachment 72473 [details] [diff] [review]
proposed fix

this has sr=sspitzer once
I add back //Notice no inbox
comment. 

David, A user can have 
a sent folder not the
default folder "Sent", 
so we don't want to set 
the localized name in that
case.
Attachment #72473 - Flags: superreview+
Comment on attachment 72473 [details] [diff] [review]
proposed fix

a=asa (on behalf of drivers) for checkin to the 1.0 trunk
Attachment #72473 - Flags: approval+
ah, thanks, makes sense.
fixed
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
it was wise of naving/bienvennu to spin off the subscribe UI part of this.

I think that there might be a simple fix for that issue.

I think we can do this:

the subscribe datasource will call 
nsSubscribableServer::GetLeafName(const char *path, PRUnichar **aLeafName) 
to determine the pretty name to show in the subscribe UI.

in ::GetLeafName() I think we could build up the folder uri (using path) and
then use the msg folder datasource to get the resource for that uri, and then QI
to nsIMsgFolder and then get the pretty name attribute, and return that.

we should spin up a new about about how the subscribe UI does not match the
folder pane UI, and try this approach first.
Since there is no localized build yet to verify the fix, I'm thinking to change
the folder names in a US build to see if it still works or not. Navin, which
strings (in messenger.property?)should I change to make fake localized folder
names? 
yes, in messenger.properties change these strings 

# LOCALIZATION NOTES (inboxFolderName): DO NOT TRANSLATE (bugzilla #64199)
inboxFolderName=Inbox
# LOCALIZATION NOTES (trashFolderName): DO NOT TRANSLATE (bugzilla #64199)
trashFolderName=Trash
# LOCALIZATION NOTES (sentFolderName): DO NOT TRANSLATE (bugzilla #64199)
sentFolderName=Sent
# LOCALIZATION NOTES (draftsFolderName): DO NOT TRANSLATE (bugzilla #64199)
draftsFolderName=Drafts
# LOCALIZATION NOTES (templatesFolderName): DO NOT TRANSLATE (bugzilla #23625).
# Fix to bug 23625 requires to create template folder URI for new IMAP account, 
# which requires the folder name to be picked from here like for other special
folders
templatesFolderName=Templates
# LOCALIZATION NOTES (unsentFolderName): DO NOT TRANSLATE (bugzilla #64199)
unsentFolderName=Unsent Messages
I've spun the subscribe issue off to http://bugzilla.mozilla.org/show_bug.cgi?
id=129141
Blocks: 129141
Seems that in IMAP some strings are still not changed to localized strings (for example when getting new mail in status bar I've got INBOX instead of localized string), see screenshoot.
Marek, I think we need to file a seperate bug for the status bar problem. Could
you do this? Or do you want me to file this? Please let me know. Thanks.
Ok, will do it :)
Marek, thanks for filing the bug.
After you localized those default mail folder names, are you able to connect to
the server using POP? I'm asking this because I don't have a real localized
build to verify this yet, maybe your experience can provide more info about the
bugfix verification.
POP:
Getting messages - ok...
Sending messages - ok...
Saving drafts - ok...
Saving templates - ok...
Deleting - ok...

IMAP:
Getting messages - ok...
Sending messages - ok...
Saving drafts - not working, probably because I don't have Drafts folder...
Saving templates - not working, probably because I don't have Templates folder...
Deleting - ok...

So in summary everything seems fine :)))
Thanks a lot, Marek. I'll leave this as "resolved" until I have a localized
build to verify.
Did you create the account with the localized strings. Because when I first
reported this problem, I could create an email account (POP), but then Mozilla
wouldn't ask me for the password, and it wouldn't connect to the server. If I
swichted to English, it worked. And after the first time in English, I could go
back to Asturian, and everything worked fine afterwards.
So, can you install Mozilla and apply a langpack or a localize the strings
BEFORE you set up an email account, and verify that you can get mails?
It works with:
- Existing account (en-US and after swithing langpack with localized names)
- New account (en-US and after swithing langpack with localized names)

So it works for me in any combination
> Thanks a lot, Marek. I'll leave this as "resolved" until I have a localized
> build to verify.

I can send You pl-PL langpacks or whole Windows build.
Hi Marek, let me explain my initial problem again. The localized strings worked
always if you created the account with en-US, and then you switched to your
locale. However, the expected behaviour is that you can have your locale and
create an account in that locale without switching to en-US to create, and then
back to your locale.

To be more precise:
- I installed Mozilla en-US and applied Asturian langpack. Everything works fine
with that locale.
- I set up an email account, and everything looks fine, but then it doesn't
connect to the server.
- I switched to en-US, go to Mail and News, and connect, enter my password, and
works.
- Then I switched again to ast, go to Mail and News and it worked.
It looked to me that the English strings were necessary to start the account,
and then it would work with the localized ones. If you can apply a langpack and
then set up an account in that language (or with the localized strings) that
would answer my question.
> It looked to me that the English strings were necessary to start the account,
> and then it would work with the localized ones. If you can apply a langpack and
> then set up an account in that language (or with the localized strings) that
> would answer my question.

Account could be created with localized build (for example in pl-PL), then it
works with localized build and with original en-US. I had no problems with that.
if this can be verified, then bug 81914 should be marked FIXED as well as it is
about get pop msgs not working with localized mail folder names, and that is
fixed with this patch, too :)
Is this bug really fixed? I've checked the latest build (at 03/21/2002) and the
Localization Notes preventing Inbox,... localization remain there.
We need to remove the l10n notes. I'll file a bug.
Filed bug 132826 to remove the l10n notes.
Verified as fixed with a Ja build.
Status: RESOLVED → VERIFIED
Blocks: 149765
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: