Casey Charlton | 8 Aug 12:08
Gravatar

Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 
__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
berthooyman | 8 Aug 12:58
Favicon

Re: Internationalised entities


I'm assuming that the titles as well as the content are dynamic, in
other words new news items, reports, etc. are added to your solution
frequently, and as they get translated, translated versions also appear
in the system.

This is one environment where traditional "resource bundles" do not
work. You'd probably be better off introducing "Phrase" and "Language".
Your news item title now becomes a reference to a phrase, and the phrase
has multiple translations. In database terms, you have a table of
phrases with a composite key <phraseID, languageID>. Your news item
title refers to phraseID, your target display language determines the
languageID. This way, your structure is multi-lingual and you choose the
desired representation (language) based on the viewer's preference.

It's easily extendible to allow on-line and in-context translation; for
example for every new item added to your news stories collection, you
will create an initial title phrase in a "source" language, and you let
all other desired language versions of that phrase be copies of the
source phrase (a stored procedure would do nicely, here). So the text
content of your German title is the same as your English title and your
Spanish title, initially. Introduce a "status" attribute on the phrases
to indicate "untranslated"/"translated"/"approved" as you see fit. A
German translator would pick up "untranslated" German phrases, look at
the source version and possibly the original news item with all its
parts, to translate the phrase and mark it as "translated". Net/net,
users would set a preferred language and see all translated material in
their language of choice and all untranslated content in the source
language.

At the repository level, the only thing you need to know is the client's
preferred language. No magic there.

--- In domaindrivendesign <at> yahoogroups.com, "Casey Charlton" <casey@...>
wrote:
>
> Let me give a very basic example ...
>
> I have a News entity ... it has Title and Content and some additional
> functional properties ... However, when displayed there may be many
language
> versions of the Title/Content
>
> For the sake of information (if it matters), this is being done in
> ActiveRecord, currently mapping the single EN record onto a table
>
> How could this be best represented?
>
> At a really superfluous level, there could be multiple records per
language,
> and you could just apply a filter when searching ("Language='en') but
this
> would mean the news items were not related to their other language
> counterparts.
>
> Another way might be to store their resources in linked tables, but
this
> will be the vast majority of the entities in this domain (News,
> Publications, Content, Reports, Subscriptions, etc)
>
> Another way might be to have the Repository do the "clever" work ...
but
> "clever" is a bit fuzzy ...
>
>
>
> Any thoughts?
>

------------------------------------

Favicon

RE: Internationalised entities

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************
__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Casey Charlton | 9 Aug 01:49
Gravatar

Re: Internationalised entities

No, but when there is no translation for the users language of any entity then English should be shown 

Casey

On 8 Aug 2008, at 07:50, "Riches, Ollie \(London\) \(c\)" <oriches <at> maninvestments.com> wrote:

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************

__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Favicon

RE: Internationalised entities

so there's a concept of a default version with N possible translations...
 

From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 09 August 2008 00:49
To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

No, but when there is no translation for the users language of any entity then English should be shown 

Casey

On 8 Aug 2008, at 07:50, "Riches, Ollie \(London\) \(c\)" <oriches <at> maninvestments.com> wrote:

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************

__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Sidar Ok | 12 Aug 21:56

Re: Internationalised entities

imho,

when domain is "live", do you need to interact with different languages of the same entity, or domain will always stay in one language ?

For instance, can an english News object speak to a portugese NewsProvider ? (I know it has been a bit silly, but you understand what I mean. After all, there is nothing that stops a portugese provider to publish news in english)

If that is not the case, which is usually not, I think it should be abstracted from your domain as the language switching is not part of your domain.

So in this scenario my vote is for Repository to do the clever work. (also the superflous option doesn't seem superflous at all)

However,

>>Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)

What I understand from here is that you have a hybrid domain from a language perspective so it is best to go to a hybrid approach utilizing repositories for listed ones and for the rest resources in linked tables.



On Fri, Aug 8, 2008 at 5:23 PM, Riches, Ollie (London) (c) <oriches <at> maninvestments.com> wrote:

so there's a concept of a default version with N possible translations...
 

Sent: 09 August 2008 00:49
To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

No, but when there is no translation for the users language of any entity then English should be shown 

Casey

On 8 Aug 2008, at 07:50, "Riches, Ollie \(London\) \(c\)" <oriches <at> maninvestments.com> wrote:

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************




--
Sidar Ok
http://www.sidarok.com
__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Casey Charlton | 13 Aug 08:31
Gravatar

Re: Internationalised entities

The site will display in a different language per user ... it is not deployed in different deployments per language ...  sometimes there will be a translation that matches the user's choice, sometimes it will default back to English ...
 


 
2008/8/12 Sidar Ok <sidarok <at> gmail.com>

imho,

when domain is "live", do you need to interact with different languages of the same entity, or domain will always stay in one language ?

For instance, can an english News object speak to a portugese NewsProvider ? (I know it has been a bit silly, but you understand what I mean. After all, there is nothing that stops a portugese provider to publish news in english)

If that is not the case, which is usually not, I think it should be abstracted from your domain as the language switching is not part of your domain.

So in this scenario my vote is for Repository to do the clever work. (also the superflous option doesn't seem superflous at all)

However,

>>Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)

What I understand from here is that you have a hybrid domain from a language perspective so it is best to go to a hybrid approach utilizing repositories for listed ones and for the rest resources in linked tables.



On Fri, Aug 8, 2008 at 5:23 PM, Riches, Ollie (London) (c) <oriches <at> maninvestments.com> wrote:

so there's a concept of a default version with N possible translations...
 

Sent: 09 August 2008 00:49
To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

No, but when there is no translation for the users language of any entity then English should be shown 

Casey

On 8 Aug 2008, at 07:50, "Riches, Ollie \(London\) \(c\)" <oriches <at> maninvestments.com> wrote:

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************




--
Sidar Ok
http://www.sidarok.com


__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Sidar Ok | 13 Aug 12:11

Re: Internationalised entities

Sorry for the confusion, I didn't mean it...
 
What problems do you foresee if repository does the filtering ? What are the counterparts that'd create a problem ? Isn't going to a hybrid approach viable for those if there are any ?

On Wed, Aug 13, 2008 at 7:31 AM, Casey Charlton <casey <at> goinsane.co.uk> wrote:

The site will display in a different language per user ... it is not deployed in different deployments per language ...  sometimes there will be a translation that matches the user's choice, sometimes it will default back to English ...
 


 
2008/8/12 Sidar Ok <sidarok <at> gmail.com>

imho,

when domain is "live", do you need to interact with different languages of the same entity, or domain will always stay in one language ?

For instance, can an english News object speak to a portugese NewsProvider ? (I know it has been a bit silly, but you understand what I mean. After all, there is nothing that stops a portugese provider to publish news in english)

If that is not the case, which is usually not, I think it should be abstracted from your domain as the language switching is not part of your domain.

So in this scenario my vote is for Repository to do the clever work. (also the superflous option doesn't seem superflous at all)

However,

>>Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)

What I understand from here is that you have a hybrid domain from a language perspective so it is best to go to a hybrid approach utilizing repositories for listed ones and for the rest resources in linked tables.



On Fri, Aug 8, 2008 at 5:23 PM, Riches, Ollie (London) (c) <oriches <at> maninvestments.com> wrote:

so there's a concept of a default version with N possible translations...
 

Sent: 09 August 2008 00:49
To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

No, but when there is no translation for the users language of any entity then English should be shown 

Casey

On 8 Aug 2008, at 07:50, "Riches, Ollie \(London\) \(c\)" <oriches <at> maninvestments.com> wrote:

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************








--
Sidar Ok
http://www.sidarok.com
__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Casey Charlton | 13 Aug 12:28
Gravatar

Re: Internationalised entities

Well it then comes down to the data schema underneath ...
 
So ...

public virtual string Id { get; set; }
public virtual string Title { get; set; }
public virtual string Content { get; set; }Now has to either query a different database entity (add "-en" to the ID for example) or it has to have the fields all loaded from joined tables ...

2008/8/13 Sidar Ok <sidarok <at> gmail.com>

Sorry for the confusion, I didn't mean it...
 
What problems do you foresee if repository does the filtering ? What are the counterparts that'd create a problem ? Isn't going to a hybrid approach viable for those if there are any ?

On Wed, Aug 13, 2008 at 7:31 AM, Casey Charlton <casey <at> goinsane.co.uk> wrote:

The site will display in a different language per user ... it is not deployed in different deployments per language ...  sometimes there will be a translation that matches the user's choice, sometimes it will default back to English ...
 


 
2008/8/12 Sidar Ok <sidarok <at> gmail.com>

imho,

when domain is "live", do you need to interact with different languages of the same entity, or domain will always stay in one language ?

For instance, can an english News object speak to a portugese NewsProvider ? (I know it has been a bit silly, but you understand what I mean. After all, there is nothing that stops a portugese provider to publish news in english)

If that is not the case, which is usually not, I think it should be abstracted from your domain as the language switching is not part of your domain.

So in this scenario my vote is for Repository to do the clever work. (also the superflous option doesn't seem superflous at all)

However,

>>Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)

What I understand from here is that you have a hybrid domain from a language perspective so it is best to go to a hybrid approach utilizing repositories for listed ones and for the rest resources in linked tables.



On Fri, Aug 8, 2008 at 5:23 PM, Riches, Ollie (London) (c) <oriches <at> maninvestments.com> wrote:

so there's a concept of a default version with N possible translations...
 

Sent: 09 August 2008 00:49
To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

No, but when there is no translation for the users language of any entity then English should be shown 

Casey

On 8 Aug 2008, at 07:50, "Riches, Ollie \(London\) \(c\)" <oriches <at> maninvestments.com> wrote:

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************








--
Sidar Ok
http://www.sidarok.com


__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Favicon

RE: Internationalised entities

so what would happen if you requested the french version and only the default english was available?
 
It sounds as though the default english version will always be returned along with the required language version if you don't return all  the language versions available...
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 13 August 2008 11:28
To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

Well it then comes down to the data schema underneath ...
 
So ...

public virtual string Id { get; set; }
public virtual string Title { get; set; }
public virtual string Content { get; set; }Now has to either query a different database entity (add "-en" to the ID for example) or it has to have the fields all loaded from joined tables ...

2008/8/13 Sidar Ok <sidarok <at> gmail.com>

Sorry for the confusion, I didn't mean it...
 
What problems do you foresee if repository does the filtering ? What are the counterparts that'd create a problem ? Isn't going to a hybrid approach viable for those if there are any ?

On Wed, Aug 13, 2008 at 7:31 AM, Casey Charlton <casey <at> goinsane.co.uk> wrote:

The site will display in a different language per user ... it is not deployed in different deployments per language ...  sometimes there will be a translation that matches the user's choice, sometimes it will default back to English ...
 


 
2008/8/12 Sidar Ok <sidarok <at> gmail.com>

imho,

when domain is "live", do you need to interact with different languages of the same entity, or domain will always stay in one language ?

For instance, can an english News object speak to a portugese NewsProvider ? (I know it has been a bit silly, but you understand what I mean. After all, there is nothing that stops a portugese provider to publish news in english)

If that is not the case, which is usually not, I think it should be abstracted from your domain as the language switching is not part of your domain.

So in this scenario my vote is for Repository to do the clever work. (also the superflous option doesn't seem superflous at all)

However,

>>Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)

What I understand from here is that you have a hybrid domain from a language perspective so it is best to go to a hybrid approach utilizing repositories for listed ones and for the rest resources in linked tables.



On Fri, Aug 8, 2008 at 5:23 PM, Riches, Ollie (London) (c) <oriches <at> maninvestments.com> wrote:

so there's a concept of a default version with N possible translations...
 

Sent: 09 August 2008 00:49
To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

No, but when there is no translation for the users language of any entity then English should be shown 

Casey

On 8 Aug 2008, at 07:50, "Riches, Ollie \(London\) \(c\)" <oriches <at> maninvestments.com> wrote:

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************








--
Sidar Ok
http://www.sidarok.com


__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
Casey Charlton | 14 Aug 09:42
Gravatar

Re: Internationalised entities

You only get English

2008/8/13 Riches, Ollie (London) (c) <oriches <at> maninvestments.com>

so what would happen if you requested the french version and only the default english was available?
 
It sounds as though the default english version will always be returned along with the required language version if you don't return all  the language versions available...
 
 
Sent: 13 August 2008 11:28

To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

Well it then comes down to the data schema underneath ...
 
So ...

public virtual string Id { get; set; }
public virtual string Title { get; set; }
public virtual string Content { get; set; }Now has to either query a different database entity (add "-en" to the ID for example) or it has to have the fields all loaded from joined tables ...

2008/8/13 Sidar Ok <sidarok <at> gmail.com>

Sorry for the confusion, I didn't mean it...
 
What problems do you foresee if repository does the filtering ? What are the counterparts that'd create a problem ? Isn't going to a hybrid approach viable for those if there are any ?

On Wed, Aug 13, 2008 at 7:31 AM, Casey Charlton <casey <at> goinsane.co.uk> wrote:

The site will display in a different language per user ... it is not deployed in different deployments per language ...  sometimes there will be a translation that matches the user's choice, sometimes it will default back to English ...
 


 
2008/8/12 Sidar Ok <sidarok <at> gmail.com>

imho,

when domain is "live", do you need to interact with different languages of the same entity, or domain will always stay in one language ?

For instance, can an english News object speak to a portugese NewsProvider ? (I know it has been a bit silly, but you understand what I mean. After all, there is nothing that stops a portugese provider to publish news in english)

If that is not the case, which is usually not, I think it should be abstracted from your domain as the language switching is not part of your domain.

So in this scenario my vote is for Repository to do the clever work. (also the superflous option doesn't seem superflous at all)

However,

>>Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)

What I understand from here is that you have a hybrid domain from a language perspective so it is best to go to a hybrid approach utilizing repositories for listed ones and for the rest resources in linked tables.



On Fri, Aug 8, 2008 at 5:23 PM, Riches, Ollie (London) (c) <oriches <at> maninvestments.com> wrote:

so there's a concept of a default version with N possible translations...
 

Sent: 09 August 2008 00:49
To: domaindrivendesign <at> yahoogroups.com
Subject: Re: [domaindrivendesign] Internationalised entities

No, but when there is no translation for the users language of any entity then English should be shown 

Casey

On 8 Aug 2008, at 07:50, "Riches, Ollie \(London\) \(c\)" <oriches <at> maninvestments.com> wrote:

Does it matter which (language) version was the original and which are translations?
 
 
 
From: domaindrivendesign <at> yahoogroups.com [mailto:domaindrivendesign <at> yahoogroups.com] On Behalf Of Casey Charlton
Sent: 08 August 2008 11:11
To: domaindrivendesign <at> yahoogroups.com
Subject: [domaindrivendesign] Internationalised entities

Let me give a very basic example ...
 
I have a News entity ... it has Title and Content and some additional functional properties ... However, when displayed there may be many language versions of the Title/Content
 
For the sake of information (if it matters), this is being done in ActiveRecord, currently mapping the single EN record onto a table
 
How could this be best represented? 
 
At a really superfluous level, there could be multiple records per language, and you could just apply a filter when searching ("Language='en') but this would mean the news items were not related to their other language counterparts.
 
Another way might be to store their resources in linked tables, but this will be the vast majority of the entities in this domain (News, Publications, Content, Reports, Subscriptions, etc)
 
Another way might be to have the Repository do the "clever" work ... but "clever" is a bit fuzzy ...
 
 
 
Any thoughts?
 
 



**********************************************************************
The contents of this email are for the named addressee(s) only.
It contains information which may be confidential and privileged.
If you are not the intended recipient, please notify the sender
immediately, destroy this email and any attachments and do not
otherwise disclose or use them. Email transmission is not a
secure method of communication and Man Investments cannot accept
responsibility for the completeness or accuracy of this email or
any attachments. Whilst Man Investments makes every effort to keep
its network free from viruses, it does not accept responsibility
for any computer virus which might be transferred by way of this
email or any attachments. This email does not constitute a request,
offer, recommendation or solicitation of any kind to buy, subscribe,
sell or redeem any investment instruments or to perform other such
transactions of any kind. Man Investments reserves the right to
monitor, record and retain all electronic communications through
its network to ensure the integrity of its systems, for record
keeping and regulatory purposes.

Visit us at: www.maninvestments.com

**********************************************************************








--
Sidar Ok
http://www.sidarok.com



__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___
danmalc3000 | 14 Aug 23:26

Re: Internationalised entities

A similar discussion on this with some implementation details:

http://tech.groups.yahoo.com/group/domaindrivendesign/messages/6089?threaded=1&m=e&var=1&tidx=1

This system also has the concept of a fallback locale. You also load
an object from repository in a single language at a time (due to
identity tracking issues).

Dan

--- In domaindrivendesign <at> yahoogroups.com, "Casey Charlton"
<casey@...> wrote:
>
> You only get English
> 

------------------------------------


Gmane