I agree with Tom. With the proper indexes a single table for all
languages is the way to go.

I don't think a view for each language is necessary--just make a
function that takes language and whatever you use to look up the
localized strings, and returns the localized string.

Further, there are existing frameworks that do this sort of task
fairly well for several architectures. Not that there's anything wrong
with building you're own--but you might look at some of their design
to get ideas.
Various: http://www.gnu.org/software/gettext/manual/gettext.html
Qt C++: http://doc.trolltech.com/4.5/linguist-manual.html
Java: http://java.sun.com/developer/technicalArticles/Intl/ResourceBundles/

Wes

> If you are wanting to dynamically change the CurrentLanguage view in
> everyday ongoing use, then you probably shouldn't. It's not generally
> good to adjust the schema continually (ie drop and create a table or
> view etc). You'd be better to redesign your data so that it's all in
> one table, with the addition of a "Language" column. Then you can
> select the data you want for a particular language without adjusting
> your schema, such as:
>
> select * from AllLanguages where Language = 'English';
>
> or you could create a view, once, for each language, that refers to
> the one conglomerate table:
>
> create view "English Language" as select * from AllLanguages where
> Language = 'English';
>
> Tom
> BareFeet
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to