Global Architecture - Page 4
October 7, 2002
If you localize your English site for six locales, you might find yourself
with six times as many web pages to manage. If you don't implement and
maintain a sound structure, you may also find yourself struggling to manage
all those new files. Many developers, because they begin localization with just
one language, find that they've labeled the pages haphazardly, as shown
in Figure 7.4.
Figure 7.4
An architecture for trouble.
Notice how the Spanish pages and directories are labeled inconsistently and
in different languages, and are mixed together with the source-language pages.
Consider how confusing this arrangement will be after the site grows to a few
thousand pages. Now for an alternative approach, shown in Figure
7.5.
Figure 7.5
A better architecture.
By creating "es" and "en" parent directories, all locale-specific
pages can be isolated from one another. Notice how filenames are mirrored in
each directory. This strategy will come in handy when it's time to update
content. If, for example, your welcome.html page needs updating, you know exactly
where all the welcome.html localized pages are, no matter what the language.
An added benefit is that pages don't need to be renamed, and developers
can switch between languages by simply changing the "es" to "fr"
or "de."
Business Rules
After you've effectively organized the site, think about how to organize
the content itself. You may have certain product or service categories that
make sense to Americans, but not to users abroad. Or, even if the categories
do make sense, they might not be needed in your target markets. Just as Wal-Mart
doesn't sell snow shovels in Florida, you shouldn't build a site that
sells products that people in other countries don't need.
Business rules help you automate some of the complexities of interacting with
multiple locales. Rules include anything from product selection and pricing
to sales tax, shipping fees, and privacy restrictions. For example, you could
have a Chinese New Year promotion planned for your Chinese market while you're
simultaneously planning an Easter promotion for European and Latin American
markets. Later in the book, you'll examine content management systems that
have business-rule capabilities built in.
For more information on managing locale-specific content, see Chapter 13,
"Global Content Management."
The better you understand the various constraints of each local market, the
better you can prepare for them on a global scale.
Yahoo! and France - French law prohibits the sale of racist items,
such as Nazi or Ku Klux Klan paraphernalia, yet until recently, Yahoo! regularly
featured such items on its auction site. Using business logic, Yahoo! kept
these items out of any auction that would be seen on the Yahoo! France site.
However, in late 2000 a French judge said that this solution wasn't good
enough, so in early 2001, Yahoo! banned the auction of such items altogether,
joining the ranks of eBay and Amazon. Other countries don't share the
same laws (or lack thereof) as the U.S., so expect your site to abide by many
differing laws.
Loose Strings
Thinking globally has technical requirements as well as business requirements.
For example, text strings might not seem important, but they can create major
problems if overlooked. Often, web developers hard-code text strings into the
scripts stored throughout a web site. For example, when you conduct a search
on a site, you'll see a response similar to this:
Your search returned 15 results.
This string is actually composed of four elements, assembled dynamically:
"Your search returned"
"15" (generated automatically)
"result"
"s" (the s is added to "result" when the number
of results is greater or less than 1)
This system works for English, but in some languages, such as French or Spanish,
plurals aren't always formed by simply tacking an s to the end.
In other languages, such as Chinese, there is no difference between plural and
singular. To avoid this problem, the string should be rewritten as follows:
Number of results returned: 15
The process of chaining text strings together is called concatenation,
and concatenation simply does not travel well. Every language has it own unique
patterns and idiosyncrasies. Notice how the string Results 1 - 10 of about
475,000 changes depending on whether you're using Google U.S. versus
Japan (see Figure 7.6).
Figure 7.6
Google U.S. and Japan: Similar messages, differently constructed sentences.
Solving (and preferably avoiding) concatenation problems is a job for software
developers. Increasingly, software developers take all these text strings and
place them in a separate resource file or database. By keeping the translatable
text separate from the software, the text strings can be easily translated and
the developers don't have to spend their time searching for lost strings.
This book won't attempt to delve any more deeply into this area, but just
be aware that all those little text strings used throughout your web siteeven
though they might not cost a lot to translatecould cost quite a lot to
internationalize.
Separating the Constants from the Variables - Page 3
Beyond Borders: Web Globalization Strategies
Acting Locally - Page 5
|