Интернационализация пользовательских данных - PullRequest
3 голосов
/ 18 октября 2010

У меня есть клиент, который хочет хранить данные в базе данных MySQL на нескольких языках (английский, французский и т. Д.) И иметь возможность извлекать данные (на том же указанном языке). То есть: у нас есть английское описание продукта (varchar), которое мы намереваемся переписать на французском языке, а затем на стороне сервера найти описание в нужной нам локали.

Я думал об обёртывании данных в XML с помощью языковых тегов и последующем анализе данных?

Каков наилучший способ обслуживания нескольких языков с точки зрения пользовательских данных? Есть ли там рамки?

J

Ответы [ 3 ]

3 голосов
/ 18 октября 2010

Я думаю, что вы могли бы решить проблему с моделью Master - Detail таблицы:

TABLE Product 
--------------------
ID
ID_MANUFACTURER   
EAN13    
WHATEVER

TABLE Product_I18n
---------------------
ID_PRODUCT
ID_LOCALE
DESC

Когда вам нужен доступ к данным в определенной локали, вы должны передать строку локали в запрос, но вам не нужно бороться с локализованной структурой XML ...

0 голосов
/ 18 октября 2010

Это то, для чего предназначен ResourceBundle; большинство людей используют реализацию на основе свойств, но вы легко можете написать реализацию, поддерживаемую базой данных.

0 голосов
/ 18 октября 2010

Я точно не знаю, существует ли такой механизм, но если нет, я бы сохранял данные в формате, кодирующем $ encoded_text, например, UTF-8 $ #####.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...