Re: BitPim in non-English speaking countries

Roger Binns <[email protected]>
Newsgroups gmane.comp.mobile.bitpim.devel
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Константин Семёнов wrote:
| The software I wrote in
| Python was to do with websites, e-mail, parsing and databases.

Ironically a lot of the BitPim code is similar (eg parts of the UI use
HTML, there is a database behind the scenes, calendars and SMS aren't
substantially different than email, and accessing external data and the
phones is a parsing issue).

| The only brand present in the
| US is Kyocera, but unfortunately BitPim does not support it.

I don't think they sell very much.  Verizon Wireless has 1 Kyocera
phone.  Sprint has none.  The other small CDMA carriers have several
more, but their market share is tiny.

| The only decent piece of
| software I have seen is provided by Pantech-Curitel.

They provided some of the handset designs used by Audiovox, since
purchased by UT Starcom.


| I own several handsets, which lack the PCSync software, have cables,
| and are readable via FileSystem view in BitPim.

The filesystem view depends on a diagnostics mode present in Qualcomm
chipsets.  You should read this page:

~  http://bitpim.org/papers/phonespecs/

| 1) Is it possible (or planned) for BitPim to manage Unicode in
| phonebook, calendar, SMS etc?

BitPim already operates in Unicode everywhere internally.  The database
used (SQLite) only supports Unicode text.  You have to use the Unicode
version of wxPython.

| e.g. Google calendar import has shown
| squiggles instead of Russian letters, but a manual entry was OK.

Chances are the code that does the import didn't correctly deal with
character sets.  Data on the phones as well as external services is in
random other encodings.  Usually the sample data we have is all in ASCII
so there isn't an easy way to work out how non-ASCII data is dealt with.

| 2) Is there a way to define LSB Unicode datatype in the packets?

Yes.  Does the data need to be 16 bit aligned?

Look for the USTRING type in prototypes.py.

| Not
| to say that I could have changed each p_*.py file to swap the bytes or
| to decode/encode the characters from/to a specified charset (there are
| at least two different charsets in Russia), if necessary.

Usually a particular model on a particular carrier has exactly one
charset so the code just says to use that.

Read dev-doc/packetdescription.txt.  You can pass parameters to a packet
(type 'P' which can then be paramaters to USTRING) which would let you
dynamically specificy the charset.

| 3) Is it possible to add an interface translation for Russian? I will
| provide all the necessary translations. Probably, a support of
| additional languages (e.g. Chinese, Vietnamese, Portuguese) could be
| built in.

BitPim currently has zero support for i18n or l10n.  I was trying to use
a convention of using double quotes around human strings and single
quotes around machine strings, but it wasn't too strictly followed.

I'm happy to go down the road of putting in the GNU gettext system.  It
isn't perfect as a i18n system, but is certainly good enough.  The
general steps for a wxPython application are outlined at:

~  http://wiki.wxpython.org/index.cgi/Internationalization

Or do you have a alternative mechanism you prefer?

Incidentally the reason for an all English interface was purely
pragmatic.  You can't really claim i18n until you are on the 3rd
translation.  Since only US phones are supported, it was pointless.
(Actually there is also a lot of Spanish and my phone supports Spanish
accented characters, but I have no way of entering them.)

Also some of the English is actually British English as I am a Brit.
When I worked in the UK, we had to use US English in all of our
products.  This is my petty little way of striking back :-)

The help text is also entirely English.  We did have plans to put it all
into MediaWiki (and have a test one setup) and then build the shipped
text from the wiki.  I've not seen a good way of doing this yet.  There
are various issues such as using namespaces for the content, but you
can't simultaneously use a namespace for the language and for the help text.

| 4) In case when I don't have a common class for a manufacturer, does
| the chipset model usually help with finding out the commands (e.g.
| finding a supported phone with the same chipset and trying to use it's
| commands)? Or is the command set usually common between the phones of
| the same manufacturer?

The filesystem commands are common across all Qualcomm chipsets although
they have gone through a few versions.  The other commands are usually
common to a manufacturer (eg phonebook).  However field sizes differ
across models.  The location of information varies by model, and often
by carrier (eg where camera photos are placed).  There are also two
different standards for embedded phone apps.  Some carriers use J2ME
while others use Brew, and that also causes different layout.
Additionally the largest CDMA carrier (Verizon Wireless) is moving to a
model where they supply the UI running on the phone, not the handset
manufacturer.

Roger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFFgk4tmOOfHg372QQRAr/mAJ41l7VPC3QH0I1BvJValJkgnuajBwCgk4he
zR5b0/7XMb1Fj+eH2qU0U8E=
=gMqH
-----END PGP SIGNATURE-----

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
BitPim-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.