Re: WOResourceManager, opposite of stringForKey
Re: WOResourceManager, opposite of stringForKey
- Subject: Re: WOResourceManager, opposite of stringForKey
- From: Dev WO <email@hidden>
- Date: Fri, 7 Jul 2006 07:39:01 +0200
It seem that you will have an web-server rule to mangle the url.
Whatever the rule, once you get in WO, and you hit the DA, set the
current language for the rest of the request, then in
performActionNamed(), you will first look in the localized .strings
file dictionary for that key (usual resource manager call), and
execute super.performActionNamed(~withTheValue~).
I may not be able to do exactly that, as I'll probably have component
which will contain "several" pages, but it seems the right direction:)
such a setup would have .strings file look like the alias file
proposed earlier.
{ "une-page-en-français" = "aUnifiedPageName"; ... }
I think I better understand now, but it raises another question:
how do I generate the different WOHyperlinks inside my pages to
navigate? I can't request stringForKey now as the key is different
for each language:(
You can also use a different file than the default
"Localizable.strings"(?not sure the default name?), something like
"UnifiedDirectAction.strings".
I really think that looking for a key given a value is a no-go, to
paraphrase an old colleague : "it's a prescription for pain".
- jfv
Le 06-07-05, à 09:31, Dev WO a écrit :
Hello Jean-François,
I may be wrong, but my problem is the opposite.
I have to had urls like:
French: http://www.domain.com/fr/une-page-en-français
English: http://www.domain.com/en/a-page-in-english
with a .strings file with:
aPage = "a-page-in-english"
localized in
aPage = "une-page-en-Français"
And in my DA, I'd like to be able to directly get the key aPage
from whatever localized string (either a-page-in-english or une-
page-en-Français in this case).
I'm not even sure I made myself clear;)
so here's what I want to do:
-get each part of the url in a separate variable (for example,
language and pagename)
-get the corresponding key for pagename
-passing the language to the pagename component
Basically that's what I'd like.
I'll try to rethink that a little bit...
Thanks,
Xavier
Why not reverse the problem and use an alias mapping.
it would look like this :
{
// english alias
search = "search";
find = "search";
// french alias
recherche = "search";
trouve = "search";
}
then in you DA, you would overwrite :
public WOActionResults performActionNamed(String anActionName)
to check the alias and finaly execute the right action.
- jfv
Le 06-07-04, à 15:55, Dev WO a écrit :
Hello Chuck,
On Jul 3, 2006, at 6:53 AM, Dev WO wrote:
Hi guys,
I'm probably missing something obvious, but I just don't see
it...
Is there any simple way to get a key from a string? assuming
the string will be localized using the .plist method.
No. And even if there was, the best you would get is a list of
keys that match the string. Keys are unique, strings don't
have to me.
That's right, huum I didn't though about this...
I know I can compare the string I get with the string for each
language using stringForKey, but I though there's a convenient
way to get the key directly.
Why are you passing localized values to a direct action? Would
it not be better to pass the key in the URL rather than the
localized version?
search engine:), the name in the URL is very powerful, so I have
no choice but use it in the url.
I could use Apache rewrite to translate it to the correct key
internally, but it would be more difficult to maintain on the
development machine...
Chuck
I've been working on a new version of a website, with some
parts that will be multilingual.
After reading about that, I decided to go the .strings way,
with a localized .strings file (as the site isn't really
dynamic).
It will be mostly DirectAction based.
So here's my question:
How can I access a key in my .strings file based on the value
I got?
I mean, I know how to get the value from a key using
WOResourceManager, but I'd like to ba able to request the
opposite: the key based on (a localized) value.
That way I could make my DA more easier to maintain and a lot
more smaller than explicitly write all the possible case in
every language available.
I've red the WOResourceManager API, but without success.
Thanks for your help, have a nice sunday;)
Xavier
-- Coming sometime... - an introduction to web applications
using WebObjects and Xcode http://www.global-village.net/
wointro
Practical WebObjects - for developers who want to increase
their overall knowledge of WebObjects or who are trying to
solve specific problems. http://www.global-village.net/
products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
email@hidden
This email sent to email@hidden
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden