• 36:28

Episode number: 54

Multi-Language Sites: Part Deux


We have the trilingual (English, French, and Japanese!) Nicolas Bottari joining us to discuss his multi-language site setup, things to look out for, multi-byte characters, and quirky Asian site requests. Look for Lea and Nicolas at EECI 2011!


Sponsored by

  • EECI 2011 Brooklyn
  • Your ad here (dimensions: 520 pixels wide and 60 pixels tall)

Episode Transcript

CTRL+CLICK CAST is proud to provide transcripts for our audience members who prefer text-based content. However, our episodes are designed for an audio experience, which includes emotion and emphasis that don't always translate to our transcripts. Additionally, our transcripts are generated by human transcribers and may contain errors. If you require clarification, please listen to the audio.

[Intro music]

Lea Alcantara: This is the ExpressionEngine Podcast Episode #54, Multi-Language Sites Part Deux, or should I say, Part “Ni”, as our esteemed guest, Nicolas Bottari, is joining us today from Japan. I’m your host, Lea Alcantara, and I’m joined by my co-host, Emily Lewis. This episode is sponsored by…

[Intro music]

Lea Alcantara: This is the ExpressionEngine Podcast Episode #54, Multi-Language Sites Part Deux, or should I say, Part “Ni”, as our esteemed guest, Nicolas Bottari, is joining us today from Japan. I’m your host, Lea Alcantara, and I’m joined by my co-host, Emily Lewis. This episode is sponsored by EECI 2011. EECI is up for its 5th season, and this time it’s returning to the United States of America the most significant conference where ExpressionEngine developers, designers and users will run from October 19th to the 21st at the Invincible Dog in Brooklyn, New York. A few tickets are still available, so check out EECIConf.com for more details.

Emily Lewis: The ExpressionEngine Podcast would also like to thank Pixel & Tonic for being our major sponsor of the year. So Lea, this morning we have a special guest from the other side of the world with us today.

Lea Alcantara: Yes, I’m so happy to have Nicolas with us. Hi Nicolas.

Nicolas Bottari: Konnichiwa, Lea.

Emily Lewis: [laughs]

Nicolas Bottari: [laughs]

Lea Alcantara: Yes, Nicolas is joining us all the way from Japan and he’s been generous enough to record this at midnight, Japan time.

Nicolas Bottari: [laughs]

Lea Alcantara: So thanks very much, Nick.

Nicolas Bottari: Yes, and also, of course, konnichiwa to Emily as well.

Emily Lewis: [laughs]

Lea Alcantara: [laughs]

Emily Lewis: So Nicolas, before we get started talking, can you tell us a little bit about yourself, and also, what you are doing in Japan?

Nicolas Bottari: Well, I’ve been living in Japan for about eight years. I’ve recently returned to Canada in the beautiful city of Montreal, but now I’m revisiting Tokyo. Right now staying for… I’ve been here around for about a month and I’m helping out people here with ExpressionEngine, and also doing some website development and also add-on developments, and also I do some help with Solspace, so I’m on the support forum.

Lea Alcantara: Very cool.

Emily Lewis: Awesome.

Lea Alcantara: Very cool.

Emily Lewis: Well, when we started our call this morning, both you and Lea were talking. You both are going to be at EECI next week.

Nicolas Bottari: Oh, that’s right.

Lea Alcantara: Yes. It’s really coming up now. It seemed like it was so far away when we first started the EE Podcast. EECI was one of our major supporters of the podcast and they jumped at sponsoring, and now I think this is the last time I’m going to say that sponsorship introduction because next week, Nicolas and I are both going to be at EECI 2011. So if anyone here is listening in and want to say hi, I will be there. Please feel free to message me. If you want to have a meet up or if you’ve got any questions about the podcast, make sure you approach me.

Emily Lewis: Yeah, definitely. Especially if you’ve been listening and you have any feedback, Lea will definitely report back to me what anyone else has. Unfortunately, I’m not going to be able to go this year. I can’t leave. I’m so disappointed because last year at San Francisco it was fantastic.

Lea Alcantara: It was great. I’m really looking forward to it.

Emily Lewis: So Nick, are you coming just for EECI? Will you be spending a little bit of time here in North America to see colleagues or work or whatever outside of the conference?

Nicolas Bottari: Well, since I recently moved to Montreal, I’m going back just to touch base, and I live now in Montreal and then I’m flying over to New York and then I’m flying back to Montreal for, I don’t know, I guess for a while since I live there, and probably next year I’ll probably visit Tokyo again.

Lea Alcantara: Very nice. I’m jealous. I still haven’t visited Tokyo. [clears throat]

Nicolas Bottari: It’s a great city.

Lea Alcantara: Awesome, and speaking of which, that’s part of the reason why we asked you to be our guest today. Your extensive experience working with Asian languages and Japanese clients and websites that have to have multilingual capabilities with both English and/or Japanese. So when did you first get approached to start doing multilingual sites in ExpressionEngine?

Nicolas Bottari: I think it started about four or five years ago. I started using EE when it was at 1.4?

Lea Alcantara: [Agrees]

Nicolas Bottari: So maybe not as close as or not back in the days as when we had pMachine.

Lea Alcantara: Yeah, yeah.

Nicolas Bottari: But at least, yeah, 1.4. I was working for a medical editing company because I actually have a biochemistry background, so I was working there writing medical papers, helping out editing medical papers, and the project was to update the website, which was running on ExpressionEngine, and that’s how I started using Japanese and English on websites.

Emily Lewis: Now, before we go too much in the detail, I have to ask a bit of a newbie kind of question to multi-language sites. Nicolas, can you explain it all to me the sort of terminology that people talk about like with multibyte languages and what that means versus other things? I feel like I don’t understand all the terminology that’s often used when you talk about multi-language sites.

Nicolas Bottari: For multi-language sites using characters, for example, like Japanese or Chinese or Korean, very often there are two types of characters. One is, at least, in Japanese, we call it hankaku, which is one byte. That’s the same size that you would see with a regular alphabet.

Lea Alcantara: [Agrees]

Nicolas Bottari: So just regular alphabet that you usually type in English is one byte. Double byte on the screen takes a bit more space, and I think also data-wise, also it’s two bytes so it takes a bit more space, and that’s often used for more complex characters, such as Asian languages and also probably Arabic and other multilingual languages.

Emily Lewis: Okay, and you have had a chance to do a lot of stuff with Asian languages, but I noticed on your site, you are fluent in French as well, so you have an experience doing those single byte languages as well with multi-language sites.

Nicolas Bottari: I mostly have experience with English. However, honestly my first site with French is my own site. Actually, I’m a French speaker, and so that’s the only place where I’m using French for now, but now that I’m back in Canada, I’m pretty sure I’ll have many opportunities to use at least English and French on future projects.

Emily Lewis: How many multi-language sites have you had an opportunity to work with?

Nicolas Bottari: I would say about five out of about a dozen websites that I’ve worked on with different challenges. Some of them were Japanese only. Others were bilingual. Some of them were trilingual. Some others had a few other languages that included other double byte characters.

Lea Alcantara: So whenever you are approached or you are about to start multilingual site, whether it’s two languages, trilingual like some of the examples that you mentioned, what do you do to prepare, and how do you know where to begin?

Nicolas Bottari: That’s a good question. What I usually do is I check with the client. If I make a website for client, I check if the content that they will be writing will be what I call parallel or non-parallel.

Lea Alcantara: Okay.

Nicolas Bottari: A parallel website would be, for example, I have an English and Japanese website.

Lea Alcantara: Sure.

Nicolas Bottari: The client will write in Japanese and English, but they want the content to be exactly the same translated from English to Japanese or Japanese to English. So both languages are following each other. That’s what I would call parallel. I would use a different strategy if it was a non-parallel website where data and content will grow in separate ways. So for example, I might have ten blog entries in English, but I might only have two in Japanese, and the content might not be the same.

Lea Alcantara: Interesting.

Nicolas Bottari: And that would be non-parallel, yeah.

Lea Alcantara: I didn’t even think about that. Whenever I think about multi-language sites, I always think about one-to-one translation,

Emily Lewis: [Agrees]

Lea Alcantara: Not that the clients would ask even that certain site might have more customized content with less or more or whatever.

Nicolas Bottari: Yeah, that makes a difference on how you will create your strategy to build your website. That will affect your custom fields, your channels and the way you write your templates.

Lea Alcantara: So what’s the more common request, the parallel or non-parallel?

Nicolas Bottari: In Japan, I’ve mostly heard of parallel. I’ve been asked for more for parallel websites. Especially the bigger the organizations, they will more often require to have paralle content.

Lea Alcantara: [Agrees]

Nicolas Bottari: Whereas maybe more social website where content can grow in different directions depending on the language often would require a non-parallel languages or a non-parallel strategy.

Lea Alcantara: Okay, so let’s focus on the more common one. So what would be your starting strategy for a parallel content website?

Nicolas Bottari: If I started with a parallel website, of course, I’ll ask how many languages does the website is going to contain. Usually it should be two or three. Of course, I can imagine there are probably possibilities of many more. Of course, from the last podcast, I know you’ve discussed the possibility that some database problems might happen if there are too many languages that are in parallel.

Lea Alcantara: Yes, yeah.

Nicolas Bottari: I haven’t encountered that problem, but in most cases, I had maybe two or three languages, so that wasn’t our problem. But what I would do with that kind of situation is my favorite technique is to use custom fields. Double my custom fields for each language.

Lea Alcantara: Okay.

Emily Lewis: Oh.

Nicolas Bottari: So…

Lea Alcantara: So like you would have body Japanese, body English, for example.

Nicolas Bottari: That’s right.

Lea Alcantara: Okay, and…

Nicolas Bottari: Yeah, so I would…

Lea Alcantara: And you haven’t encountered any database issues with that? Would that mean you would have one channel with both the languages in one published form?

Nicolas Bottari: I haven’t had any database problems with having two types or three types of the same custom field for each language.

Lea Alcantara: [Agrees]

Nicolas Bottari: The problems I would have in some cases would be with a garbled text, but that was mostly a problem I had with the EE 1.

Lea Alcantara: Okay.

Nicolas Bottari: I have this less with EE 2 now.

Lea Alcantara: Oh, interesting. Did you figure out why EE 1 was garbling the text versus EE 2 somehow manages to handle it better?

Nicolas Bottari: Personally, I think the best thing that really got me excited about EE 2 was that it uses a Unicode database.

Lea Alcantara: [Agrees]

Emily Lewis: Yeah.

Nicolas Bottari: So every character, every multibyte character is saved as is in the database, whereas in EE 1, depending on your database scheme and how you’ve installed EE 1, your characters are either transformed into entities before they are saved in the database.

Lea Alcantara: [Agrees]

Nicolas Bottari: Or basically they are saved in some garbled way, which I also don’t understand. So I was very excited about EE 2 and I think that’s the way to go from now on.

Lea Alcantara: So the top tip there, make sure your database is Unicode.

Nicolas Bottari: [Agrees]

Lea Alcantara: Because I believe that sometimes when people try to migrate to different servers, they forget to specify what language it’s going to be, and I know I’ve done that by accident myself and then I end up with garbled text when I finished the transfer. So always make sure you know what kind of language your database is in.

Emily Lewis: So the key…

Nicolas Bottari: Oh yeah, that’s very important.

Lea Alcantara: Yeah, and speaking of that then, so what are the caveats when dealing with two byte or multibyte language beyond just the initial set up of custom fields and things like that? What do we need to think about?

Emily Lewis: Well, actually, can I actually interrupt real quickly?

Lea Alcantara: Sure.

Emily Lewis: With that dual setup, Nicolas, where you have the dual custom fields, I’m just curious from your client’s perspective, has that been something where content authors welcome? Do they embrace that, or does that make it confusing, or someone go behind the regular content authors and offer up the translated content after the original content is in place?

Nicolas Bottari: From what I’ve seen, especially in EE 2 given that we have published layouts, this is something that’s pretty amazing on what you can do, especially with multiple languages is you can set up different member groups, and that’s what I usually do. I have a member group for translators, let’s say, one for English writers and then one for Japanese writers.

Emily Lewis: That’s a clever idea.

Nicolas Bottari: Yeah, and the Japanese writers, for them, I just hide all the English fields.

Lea Alcantara: Very smart.

Nicolas Bottari: It’s the same thing for English, and then for the translators, I have both fields open and visible so they can actually compare one to one when they do their translations, which is very easy for them in that way.

Lea Alcantara: Cool.

Emily Lewis: Yeah, that’s a really clever idea. I’m sure that makes it a much better experience for the client.

Lea Alcantara: So then in terms of usability or anything like that, has there been any issue in terms of just using ExpressionEngine for your clients with multi-language capabilities?

Nicolas Bottari: I’ve encountered, I guess, a few problems, well, a number. There is a long list.

Lea Alcantara: [Laughs] Okay.

Nicolas Bottari: But the good thing, the good news is that a lot of them have cures, so that’s a good thing. The first type of problem I’ve encountered was when I did upgrades of websites from EE 1 to EE 2. Usually everything goes fine. There is no problem. In the case of multibyte languages, my advice would be to look at the database in EE 1 and see how the characters are saved in your database before doing your upgrade.

The reason for that is I remember one site where I had to upgrade EE 1 to EE 2 and I had problems with category names, which were in Japanese and they were saved in some odd writing in the database. Well, that writing just transferred over to EE 2 and instead of having my Japanese text or multibyte text or accents or whatever, I would have questions. Everything would be replaced by question marks. So if I would have checked before upgrading and see how it was stored in the database, maybe I could have prepared the database or prepared my EE 1 installation better before moving over to EE 2.

Lea Alcantara: So what would that preparation entail, like how would you make sure that it is the right format for EE 2?

Nicolas Bottari: I would look first. The one important setting in the control panel is the convert ASCII characters to entities.

Lea Alcantara: [Agrees]. Very nice, yeah.

Nicolas Bottari: Check if that’s on or off and see if all the texts, your data, your content, is saved as entities or if they are actually saved as characters, or something in between.

Lea Alcantara: Interesting.

Nicolas Bottari: I’ve seen some cases where some characters were not saved as entities. Neither were the characters as is in the database, but I don’t know how to explain it, but they were a bunch of characters that the database can read. That’s probably the trickiest situation to be in, but I would check that setting first.

Lea Alcantara: But generally speaking, this was more of an issue for going from EE 1 to EE 2, so you are saying that if you start off fresh using EE 2 with the Unicode database, you should be generally fine with multibyte language.

Nicolas Bottari: Yes, definitely, it’s much easier. I didn’t have to play in the database at all in EE 2 due to garbled text.

Lea Alcantara: [Agrees]

Nicolas Bottari: I really didn’t have to go there very often, and as EE 2 progress, I’ve seen a few touches, a few changes that I really liked. For example, in ExpressionEngine 2.1.2, they actually removed that convert high ASCII to entity setting. I on Twitter, I was very happy of that change because it’s really not needed anymore in EE 2 and it brings less confusion. So it was a very good change to do.

Lea Alcantara: Very cool. So another thing that is unique to Asian languages and maybe even South Asian or Middle Eastern languages is that naturally text when it’s on the printed word goes from right to left and sometimes even up and down as opposed to horizontal. How do you take that way of writing and translate that online where it’s primarily left to right? Do you have to make things left to right, even if it’s in Japanese? How do you deal with that?

Nicolas Bottari: Well, actually, I’m pretty lucky with Japanese and actually probably Chinese and Korean as well.

Lea Alcantara: [Agrees]

Nicolas Bottari: They also go left to right.

Lea Alcantara: Okay.

Nicolas Bottari: So you read text as you would in English, so it’s perfect. I don’t really have to do any changes and it just works as it is. However, I did encounter, when I was building my add-on, Zenbu, someone noticed that Arabic needed to go from right to left.

Lea Alcantara: Yes, yes.

Nicolas Bottari: And I had to change some input fields and add a parameter, so that text is read from right to left. So that’s something in your templates that needs to be added if your text goes from right to left.

Lea Alcantara: Interesting. Interesting.

Emily Lewis: But it’s really just a parameter?

Nicolas Bottari: Yeah, I think it’s an HTML parameter. I think it’s DLR or LTR that has to be added.

Emily Lewis: Oh, that’s nice. That’s kind of straightforward.

Lea Alcantara: Interesting.

Nicolas Bottari: Actually, I think it’s DIR for direction.

Lea Alcantara: Interesting. I didn’t even know that existed in HTML.

Emily Lewis: Now, you just mentioned your add-on, Zenbu. I was on the site. It’s pretty impressive. It’s a way to filter your entries for searching in the control panel.

Nicolas Bottari: That’s right. It has many uses. The main idea of Zenbu is to show custom field data right within your entry listing. So you have that edit channel entry section that everybody I’m sure when they go to the control panel will visit very often. My Zenbu, what Zenbu does is it adds more columns. So if you have a custom field, for example, of a picture and then a file that you’ve uploaded, you can actually see those files right into your entry listing, and I use it for multilingual sites. It’s very useful in that case as well.

Emily Lewis: Did it evolve because of your work with multilingual sites that you needed a much more narrow way of searching? Or was it just something you needed just in general?

Nicolas Bottari: A bit of both. When I was working on portfolio-type sites where users would update or upload one file or one image file per entry, I really wanted to have an easy way to look at a bunch of entries, a list of entries and have the actual picture that was uploaded right next to the title, the entry title. That was one need that I filled with the Zenbu.

The other need was for the multilingual sites where I wanted to have a way to be able to check if, for example, an English title was translated into Japanese and then translated into French. So using Zenbu, I can have a table and wherever I see empty spots, I can say, “Well, okay, this field wasn’t filled out yet with Japanese, or this one wasn’t filled out yet with English.” So it’s very, very useful. It saves me a lot of time from going to each entry form and checking if everything is there.

Emily Lewis: Yeah, I imagine if it’s something that you trained your clients on, that would be useful for them to audit how much content is being entered into the system.

Nicolas Bottari: Definitely, definitely a big, big, big timesaver.

Emily Lewis: Now, we are talking about using the published layout to show and hide your language-specific custom fields when you have those dual custom fields for different languages. What other ways have you sort of manipulated ExpressionEngine to suit your needs with multilingual sites?

Nicolas Bottari: I’ve used, of course, the published layouts, but that only takes care of one part of the problem or the issues that you might have with multilingual sites. If you have, for example, two custom fields, one body for Japanese and one body for a body field for English, then that takes care of your users writing Japanese or English content.

Lea Alcantara: Yes.

Nicolas Bottari: But on the site, you often have navigation, submit buttons, a click here.

Lea Alcantara: Yes.

Nicolas Bottari: Click more, learn more, read more, those small pieces of text in some cases need to be translated, so in my case, I went the most native way as possible and I used the translation tool that’s in Expression Engine in the control panel.

Lea Alcantara: Interesting. So like for little snippets of text, you are okay with the native translation that’s built in EE?

Nicolas Bottari: That’s right. So what I do is I create a language file made for my site in the ExpressionEngine/languages/English folder.

Lea Alcantara: Okay, okay.

Nicolas Bottari: And then I go into My Tools and under Utilities, there is a translation utility. So I just click on the file that I’ve created and as I click on that file I see all of my English strings and input fields where I can translate it into another language such as Japanese.

Lea Alcantara: So then in your templates, you just have to create it in one language, at least, the buttons and things like that, and then this translate tool will auto-create the alternate language for you?

Nicolas Bottari: Well, actually, the first part is to use that translation. I use the translation utility to translate all those strings and that creates a language file in another language in English.

Lea Alcantara: [Agrees]

Nicolas Bottari: Once I have that file, then I need to use special tags within the templates to fetch those translation keys.

Lea Alcantara: Okay, okay. Okay, and that’s all relatively straightforward then, like the translation tool shows you exactly what those special tags would be?

Nicolas Bottari: To actually fetch the right key, the right translation key in your template, either you can use PHP.

Lea Alcantara: Okay.

Nicolas Bottari: ExpressionEngine comes with a language class that lets you pick up strings. For example, the key called submit. In English, it would submit, but then in Japanese, it would be another word.

Lea Alcantara: Yeah.

Nicolas Bottari: So you can use pure PHP, but there are also a few add-ons out there that can actually get the job done for you as well.

Lea Alcantara: What are those add-ons?

Emily Lewis: [Laughs]

Nicolas Bottari: The one I’ve used very often is from a Biber Limited called Get Text.

Lea Alcantara: Just Get Text.

Nicolas Bottari: Get Text, that’s right.

Lea Alcantara: Okay, very simple.

Nicolas Bottari: And I like that add-on because it allows you to take or at least access strings of language from different parts in your ExpressionEngine installation, so for example, you could even go into matrix and fetch language string from the matrix add-on and put it in your templates, or you can just go within ExpressionEngine’s control panel language strings and pick something from there as well. So things that have already been translated you don’t need to translate them a second time and you can just use that add-on to fetch those keys.

Lea Alcantara: That’s pretty cool.

Emily Lewis: That’s great. I’m on Devot:ee right now. Just to let everyone know. That’s a free add-on.

Lea Alcantara: Very nice.

Nicolas Bottari: Yes.

Lea Alcantara: It’s very cool. Since we are still talking about templates, are there any other things that developers need to consider when setting up their templates for multilingual sites?

Nicolas Bottari: Yes, I have a favorite technique where I have my domain name and then I follow it by a language code, a two-letter language code.

Lea Alcantara: Okay.

Nicolas Bottari: And I use on the ExpressionEngine Wiki what’s called the alternate multi-language strategy, I believe.

Lea Alcantara: Okay.

Nicolas Bottari: Where you need to create some folders in your root. In your root folder, you have to create, for example, for English, you would have an EN folder and Japanes, JP folder.

Lea Alcantara: Yeah.

Nicolas Bottari: And I would copy the index file and copy it into each of these folders.

Lea Alcantara: Okay.

Nicolas Bottari: And within each of them, you have to assign global variables for the language and the country code, so that if a user has, for example, JP in their URL, that person will have global variable set to Japanese and the country code to JP. So I can use those codes after in, for example, the Biber Get Text plugin or through PHP I can use that code and say, “Well, please get this element or this language string in Japanese.”

Lea Alcantara: Very cool. Very cool. So then you do use the technique where the entire site is in one entire site and all the channels have mixed languages. Have you ever tried doing multilingual sites using multi-site manager, for example?

Nicolas Bottari: I’ve seen there is a few. I haven’t used multi-site manager, although I think it should work the same as a single site.

Lea Alcantara: [Agrees]

Nicolas Bottari: I don’t see too many problems in that case, although I have only limited experience in that.

Lea Alcantara: Okay.

Emily Lewis: I’m just curious from a comparative perspective. I noticed on your website, you mentioned you’ve worked with other content management and blogging systems. Have you used any other tools for multi-language sites other than ExpressionEngine?

Nicolas Bottari: I worked on a few sites in WordPress. Unfortunately, I didn’t have the chance to use any multilingual add-ons in that case, but I did use Japanese because the site was in Japanese. However, I did use Drupal as well and they do have translation utilities, I think, more than one. They have an internalization plugins, but the nature of Drupal itself kind of limited me in doing more development in that platform. What I saw was very nice, but unfortunately, that just took me more time. ExpressionEngine for me was more straightforward.

Lea Alcantara: Interesting. So you would say that is a benefit of using ExpressionEngine? Do you think that it’s a little bit more straightforward to do a multilingual setup?

Nicolas Bottari: I think the flexibility that ExpressionEngine has enables you to flex and change and set up your multi-language site in more than one way. We were discussing one technique with doubling all the custom fields, but there is nothing wrong with having two channels.

Lea Alcantara: Right.

Nicolas Bottari: For example, blog in English and blog in Japanese, or to have one custom field controlling what language the entry will be in.

Lea Alcantara: [Agrees]

Nicolas Bottari: There is no problem with that either. That’s what I like about ExpressionEngine is that flexibility. You are not stuck with only one way to do it.

Lea Alcantara: Very cool. So are there any other add-ons in your multilingual arsenal for ExpressionEngine that you would like to mention that you think are useful?

Nicolas Bottari: There is one that I use extensively. There is a guy called Nicolas Bottari, I guess.

Lea Alcantara: [Laughs]

Emily Lewis: [Laughs]

Nicolas Bottari: [Laughs]. He created this. There is an add-on called NB Moji Limit.

Lea Alcantara: NB Moji Limit.

Nicolas Bottari: Yeah, it’s pretty popular in Japan, but I know that it can be used in other languages such as Chinese, Korean and probably Arabic and Sanskrit and other languages too. What it does is pretty much the same as the key limiters or the text limiters, and there is a bunch of plugins that actually cut a string into something shorter that are already available, but they don’t really work with Japanese or the multibyte languages.

Lea Alcantara: Interesting.

Nicolas Bottari: So if I have, for example, a 200-character text, I can just cut it down to 50 using NB Moji Limit. That’s all it does and it avoids cutting characters in the middle and leaving a trail of odd characters at the end.

Emily Lewis: Nice. That’s also free to folks?

Nicolas Bottari: That’s free, yes.

Lea Alcantara: Very cool, very cool. That’s something that most people probably don’t even really think about or take for granted when they are working with English sites. They just use the character when a plugin, let’s say, 50 characters, but then it’s sort of a different story when you are dealing with Japanese or Chinese characters.

Nicolas Bottari: Oh, definitely. There is an issue again with entities. That’s actually why using a normal text limiter will actually chop off some text at the wrong place and then you will have a bunch of characters at the end. That’s because sometimes the text is saved as entities. That happens often with WYSIWYG-type add-ons.

Lea Alcantara: So before we wrap up, I do have one final question. How is it like working with Asian clients? Is it any different from working with North American clients? Are there any challenges with dealing with, let’s say, Japanese clients versus American client?

Nicolas Bottari: Definitely the needs are different. Many things that are asked by clients maybe in Western countries such as Facebook connectivity, that kind of service is slightly different. For example, in Japan, instead of Facebook, Facebook is popular, but they have their own social networking site called Mixi.

Lea Alcantara: Interesting.

Nicolas Bottari: And integrating that with Mixi is probably maybe more important than Facebook.

Lea Alcantara: Interesting.

Nicolas Bottari: Yeah, and another one is what we call the emoji, the smiley faces. Japan uses these lots of faces extensively.

Lea Alcantara: Oh yes. Yes.

Nicolas Bottari: Yeah, so that’s very important. So a lot of clients want to have that, and that’s almost a must for sites in Asia, and maybe not as important in other areas of the world.

Lea Alcantara: Yeah, it’s very interesting you mentioned the smiley face thing because I really don’t know any client who specifically asked me, “Can we enable smileys for site?”

Nicolas Bottari: [Laughs]

Lea Alcantara: [Laughs]

Emily Lewis: [Laughs]

Nicolas Bottari: That’s very important to have those smileys.

Lea Alcantara: Very cool. Very cool. Well, thank you, Nick, for joining us today.

Nicolas Bottari: It’s my pleasure.

Emily Lewis: Yeah, we really appreciate it. Before we go, I wanted to give you a chance to talk a little bit more about your Zenbu add-on you mentioned that’s something big. What’s coming around the corner?

Nicolas Bottari: Yes, I have a major version that has a major overhaul of the internals of Zenbu, which is going to make displaying your custom field data in your entry listing much easier. So if something isn’t supported, it’s going to be much easier to write something for it and also a huge number of requests or wishes have been granted in the latest version.

Lea Alcantara: [Agrees]

Emily Lewis: [Agrees]

Lea Alcantara: Oh, very nice. Very nice.

Nicolas Bottari: [Laughs]

Emily Lewis: So if folks want to stay up to date when that release is available, where can they find you online or news about Zenbu?

Nicolas Bottari: People can find news about Zenbu and everything else I do on the Web on my website, NicolasBottari.com.

Lea Alcantara: I see.

Emily Lewis: [Laughs]

Nicolas Bottari: You can find me on Twitter, so @nicolasbottari, and also, of course, I help out with Solspace, so I’m often in the Solspace support forum. Feel free to ask questions there as well and if you just want to discuss this as well, no problem. I’m happy to talk with anyone and I’m looking forward to talking to some new users.

Emily Lewis: Great, and I guess, if any of our listeners are going to be at EECI, they can also find you there too.

Nicolas Bottari: Oh, of course. I’ll be in person in EECI, so feel free to walk up and strike up a conversation. I’ll be happy to talk with you.

Emily Lewis: Great. Thank you so much for joining us today.

Lea Alcantara: Thanks, Nick.

Nicolas Bottari: It’s my pleasure.


Lea Alcantara: So now, we would like to thank our sponsors for this podcast, EECI 2011 and Pixel & Tonic.

Emily Lewis: We would also like to thank our partners, EllisLab, EngineHosting and Devot:ee.

Lea Alcantara: And thanks to our listeners for tuning in. If you want to know more about the podcast, make sure you follow us on Twitter at @EEPodcast or visit our website at ee-podcast.com. This is Lea Alcantara.

Emily Lewis: And Emily Lewis.

Lea Alcantara: We are signing off for the ExpressionEngine Podcast. See you next time.

Emily Lewis: Sayonara.

Love this Episode? Leave a Review!

Emily Lewis and Lea Alcantara

CTRL+CLICK CAST inspects the web for you!

Your hosts Emily Lewis and Lea Alcantara proudly feature diverse voices from the industry’s leaders and innovators. Our focused, topical discussions teach, inspire and waste no time getting to the heart of the matter.