With this method, you configure a single repository that holds content for all locales, and you include a locale attribute for each repository item. Then you write a targeting rule or scenario that matches the RequestLocale’s localeString property to the locale attribute of the content repository item, thereby allowing you to display content that is appropriate for each user’s language preference.

Locale-specific properties of each item are stored in multi-valued tables that hold many different language versions of the same information. This method therefore has the advantage of requiring you to maintain only one copy of each repository item, avoiding the duplication of the multiple repository method.

Disadvantages include the need to use a single character encoding that is appropriate for all content locales in the repository. In addition, a large repository that contains items for multiple locales might be less convenient to work with than a set of smaller repositories, each containing items for only one locale.

For more advantages and disadvantages of each method, and for a detailed description of how to set up SQL content repositories for an internationalized site, see the ATG Commerce Programming Guide.

The Motorprise demo application (Oracle ATG Web Commerce Business Commerce) uses the single repository method to store content in two languages, English and German. For information, see the ATG Business Commerce Reference Application Guide.

The Quincy Funds demo application stores content for four locales in a single repository, which is a combination SQL/file system repository. All content is encoded in UTF-8. For more information, refer to the ATG Quincy Funds Demo Documentation.