Текст принадлежащий к клиентскому приложению, как правило, хранятся с этим приложением, так что вам не придется загружать «ОК» и «Отмена» на соответствующем языке из базы данных только, чтобы показать некоторые кнопок. (Но вы можете сохранить это в базе данных, если хотите.)
Данные о содержимом, с другой стороны, обычно хранятся в базе данных. Это не имеет большого смысла, чтобы сохранить часть его в базе данных и часть его в другом месте. Если вы храните продукты в своей базе данных, сохраните необходимый текст. Он принадлежит. Что касается доступа к данным, это не так, потому что вы не извлекаете текст на всех языках, а только на желаемом языке.
Вот типичный дизайн таблицы:
create table product
(
id number(10),
buying_price number(6,2),
selling_price number(6,2),
id_vat number(1),
...
);
create table product_name
(
id_product number(10),
language_iso varchar(2), -- 'en', 'de', 'fr', ... or chose another code
text varchar(100)
);
create table product_description
(
id_product number(10),
language_iso varchar(2),
text varchar(2000)
);
Вы также можете решить для более общего дизайна:
create table products
(
id number(10),
tranlation_number number(10),
buying_price number(6,2),
selling_price number(6,2),
id_vat number(1),
...
);
create table translations
(
tranlation_number number(10),
content_name varchar2(30), -- 'PRODUCT_NAME', 'PRODUCT_DESCRIPTION', ...
language_iso varchar(2), -- 'en', 'de', 'fr', ... or chose another code
text varchar(4000)
);
Есть больше возможностей. Какой бы вы ни выбрали, доступ к данным просто означает объединение и константу для языка. Не должно быть никаких проблем с производительностью вообще. И данные там, где они принадлежат.
Я думаю, вам не нужно хранить его в базе данных. Взгляните на это: http://developer.android.com/training/basics/supporting-devices/languages.html – Dehumanizer
спасибо за ваш ответ, я имею в виду контент, а не интерфейсы ... например: в моей базе данных есть таблица для информации о продукте, хранящейся на английском языке. Когда пользователь выбирает просмотр информации с помощью приложения, он будет отображать, например, название продукта с выбранным языком (а не на английском). – user3333203
Вы можете добавить Lang_Code Column (Integer), например English = 0, German = 1, ... и получить данные по Lang_Code. –