Resize button "Mark ALL messages as read" in default thme

Started by spiros, December 16, 2009, 08:44:25 PM

Previous topic - Next topic

spiros

On the bottom right, as you can see, due to Greek text being larger, the button "Mark ALL messages as read" (apart from being capitalized automatically), it expands resulting in the button not displayed at all and the text appearing in broken lines:

ΣΉΜΑΝΣΗ
ΌΛΩΝ
ΤΩΝ
ΜΗΝΥΜΑΤΩΝ
ΩΣ
ΑΝΑΓΝΩΣΜΕΝΑ

Is there a way to have this box resized/and its text not capitalized?


Akyhne


spiros

There is a simple solution: delete the uppercase transform from css which I consider very bad practice for internationalization (it also maintains accents which should not be in uppercase).

Akyhne

The text is capitalized for clarity. It's the way the devs want it to look. The text in English is as many other created as imperative text (demanding text), while the Greek version is made more like an explaining text.
Imperative text strings are usually a lot shorter. Is it not possible to refine the Greek version to get it shorter?

spiros

You don't get my point. If you capitalize via css it has side effects for certain languages (i.e. wrong accentuation). If one wants capital strings, the only safe way is to have capital strings as source language strings and not lowercase strings automatically converted.

Antechinus

Ok, so you can change the css for your site easily enough. The thing is we don't have language-dependent css files and the upper case text does work well in some languages. So to me it makes sense to adjust the css to suit your own purposes.

spiros

Well, the point is that it is a kind of "shortcut" and not necessairly "good" internationalization policy when it comes to software architecture.

Akyhne

I don't see the problem. A text string using Veranda size xxx, will take the same space in height, no matter what letters you are using. Btw, i just tried Greek, and it only break once in IE7 when narrowing the browser a lot. Seems more like a browser issue. Firefox 3.5 is ok. The same is Opera.

Antechinus

Quote from: spiros on December 17, 2009, 08:03:34 PM
Well, the point is that it is a kind of "shortcut" and not necessairly "good" internationalization policy when it comes to software architecture.

If we don't do it all the people using English are likely to grumble. I see your point, but the default main menu in the old Core theme was always uppercase. In fact it still is, even in RC2. Either way we do it somebody is going to want it changed.

Akyhne

It really has nothing to do with internationalization. It's a design issue. It's simply the way Simple Machines wants the buttons to look. But there should be created a bug repport on the IExx issue.

* Akyhne thinks Ant will then fix it ;)

spiros

Quote from: Antechinus on December 17, 2009, 08:08:01 PM

If we don't do it all the people using English are likely to grumble. I see your point, but the default main menu in the old Core theme was always uppercase. In fact it still is, even in RC2. Either way we do it somebody is going to want it changed.

But I am not saying not to use uppercase on English or whatever other language. What I am saying is not to use css to convert to uppercase on the fly. Instead, you can have all the strings needing to be in uppercase converted beforehand as uppercase language strings, if they need to be thus.

Antechinus

Well I do see what Spiros is getting at. What he means is that if we have a text string that is used in only one place it would be better if they could be made uppercase in languages that suit it and not in languages that don't suit it.

I can see this causing problems with common text strings that are used in more than one location. For things like this button though maybe we should seriously consider setting the case in the actual languages files.

ETA: Cross posted. Yes I get it now. Worth thinking about for sure.

Akyhne

AFAIK, a i takes as much space in height as a Ï in HTML. So I don't see what you would gainby that. The problem (take a look at the image) is that the text is to long to be aligned to the right of the "New posts", "No new posts" etc.

spiros

Well, the easiest and SAFEST way, it to have 2 language strings (if needs be, which I think is not necessary in most cases), one for lowercase and one for uppercase.

If this sounds like hassle, in most languages you can accomplish it automatically by capitalizing lowercase strings (even Word can do it with SHIFT+F3).

To summarize:

1. Identify strings that are used as lowercase AND uppercase with text transform
-> Create two versions (two language strings for each instance), one lowercase and one uppercase.

2. Identify strings that are only used as uppercase with text transform but are written in lowercase.
-> Make sure they are uppercase in source.

Alternatively, provide a way to disable text transform through admin (for those people who are not keen on messing with css files).

Quote from: Akyhne on December 17, 2009, 08:25:44 PM
AFAIK, a i takes as much space in height as a Ï in HTML. So I don't see what you would gainby that. The problem (take a look at the image) is that the text is to long to be aligned to the right of the "New posts", "No new posts" etc.

With Greek, for instance, capitals take a lot more space in length, causing havoc with buttons.

Antechinus

Quote from: Akyhne on December 17, 2009, 08:25:44 PM
AFAIK, a i takes as much space in height as a Ï in HTML. So I don't see what you would gainby that. The problem (take a look at the image) is that the text is to long to be aligned to the right of the "New posts", "No new posts" etc.

I understand that too. I still think Spiros has a valid point regarding uppercase and lowercase. The length of the string is a separate issue. It should be coded so that if the button is too long it breaks cleanly to a new line beneath the post icons. I'm bookmarking this for bug reports/fixes.

Akyhne

FF and Opera, just pushed the button a little down (maybe a little to much though) so it can fit. IE should do the same. Problem solved.

Antechinus

Huh. Betcha IE will find a way to make a mess of it. Haven't tested the infernal thing yet.

spiros

Quote from: Santa Kühne on December 17, 2009, 09:07:56 PM
FF and Opera, just pushed the button a little down (maybe a little to much though) so it can fit. IE should do the same. Problem solved.

That solves one part of the problem. The other part is that capital Greek letters should not have accents, and since it is based in a lowercase Greek string, it maintains the accents which is totally wrong in Greek.

Akyhne

That should be solved then, but making the Greek translation upper case.

spiros

Lol, this is the point I have been arguing, NOT TO ARBITRARILY CHANGE TO UPPERCASE VIA CSS ;)

Simple: same string could be used as lowercase in other instance!

See http://www.simplemachines.org/community/index.php?topic=354370.msg2409990#msg2409990

Advertisement: