Ziqi Zhou

Never marry your ideas, flirt with them.

Category: Portfolio (page 2 of 2)

Prioritizing Schools in San Francisco for Safe Route Program

(An In-class Project Using ArcGIS)

When parents are deciding which school to send their kids to, one thing they will consider is commuting. Commonly, parents will drive their kids to school if kids are still young. Some schools provide school buses with fixed routes. Even so, many families are facing the commuting problems. Sending children to schools through driving requires parents coordinating their schedules with schools, while some children are living in neighborhoods that could not be covered by school bus routes.

To ensure the safety of kids commuting to school, the Safe Routes to School(SRTS) program was initiated to help to make walking and bicycling to school safer and more accessible for children and to increase the number of children who choose to walk, bicycle, take public transit, or ride in parental carpools.[1]

Currently, the SRTS program has covered more than 40 schools in San Francisco. Still, some schools are located in areas with high commuting risks but are not included by the SRTS program. To identify these schools, we started an in-class project by using ArcGIS and tried to provide a safer commuting recommendation for schools.

The seven schools on our map are those with 2+ collisions(2015-2016) within two-block radius. Two of them have already joined the SRTS program. We took a further examination of these seven schools and found out some schools were located in areas with higher crime density and busier traffic flow. These schools, including  Cesar Chavez Elementary and Five Keys Charter, should be prioritized to join  the SRTS program.

[1] http://www.sfsaferoutes.org/about-2/

(To download the PDF of this map, please click here.)

Format Currency Using JavaScript

Imagine you are doing online shopping. You may not want to see the price of an item in a different currency, you may also want to know when you can receive your items. For any organization that wants to go global, being aware of the different formats of currency and time is crucial to building the localizability of its own product. In our final project for the website localization class, we chose to learn how to format currency and time by using JavaScript. In this team of two, I was responsible for formatting the currency through JavaScript. With this blog post, I’d like to share some easy methods to format the currency by using the built-in function of JavaScript.

What to Consider When Doing Currency Localization

Before we get our hands dirty, think for a while what should be considered when we are localizing a currency. Here, I’ll list three basic elements we need to consider.

Symbols

Symbols like $, ¥, £,  €, are the first things people look at when they are identifying a currency.  Although many countries share the same currency symbol, the position of the symbol may vary. For example, in France, Euro sign is placed at the end of the currency, but in the Unites States, dollar sign is usually placed on the left of a number.

  • $123
  • 123€

Use of decimal points and commas

The following two numbers actually have the same value, but the use of decimal points and commas are different.

  • 1,234.56 .123
  • 1,234,560,123

Currency conversion

Although the conversion issue is not covered by my final project, it is necessary to keep in mind that automatically converting one currency into another is dispensable when building a localized website. To  perform currency conversion in JavaScript, you’ll need a reliable source of real-time exchange rates.

Built-in Internationalization (i18n) Functions in JavaScript to do Currency Localization

There are many ways to localize a currency by using different coding methods. JavaScript has some basic functions to localize a certain number into desired format, which is also one of the easiest way to do the localization.

The Intl object is the namespace for the ECMAScript Internationalization API, which provides language sensitive string comparison, number formatting, and date and time formatting.[1] By applying the i18n function (Intl.NumberFormat), we can easily turn a number to the desired format. Here, I’ll describe the needed steps.

The syntax:

new Intl.NumberFormat([locales[, options]])

Intl.NumberFormat.call(this[, locales[, options]])

Three steps to turn a number into a desired currency format:

1.In basic use without specifying any locale, a formatted string in the default locale and with default options is returned.

var number = 1234;

new Intl.NumberFormat().format(number)

// → ‘1,234’ if in US English locale

2.Now, let’s add a locale, for example de-DE.

var number = 123456.789

new Intl.NumberFormat(‘de-DE’).format(number)

// → 123.456,789

3.Now, let’s tell JavaScript we want to format the number as a currency. We can do that by specifying the options.

var number = 123456.789

new Intl.NumberFormat(‘de-DE’, { style: ‘currency’, currency: ‘EUR’ }).format(number)

// → 123.456,79 €

The toLocaleString() Method in JavaScript

Similar with the i18n function in JavaScript, the toLocaleString() method can also give the same result. However, the toLocaleString is not really language or locale responsive, it is actually using the host environment’s current locale. If we want our website responsive to the language or locale we choose from a selector, we should abandon this method.

Creating a Demo

The biggest challenge I’ve encountered when doing this project was creating a demo from scratch. Without any computer science background, using limited knowledge about html, css and JavaScript to create a demo was never easy. To better visualize the i18n function in JavaScript, I decided to put the following elements in my demo.

  1. An input box for numbers.

  1. A dropdown selector of currency type.

  1. The formatted result according to selected currency.

 

What went wrong?

  1. The i18n built-in function in JavaScript is not accurate enough in reflecting the right format of the Chinese currency CNY.

Do Chinese people use comma to separate thousands? If the number is shorter than 4 digits, comma will not be used. However, if the number is longer than 4 digits, commas will be used. This differentiation could not be performed by JavaScript’s i18n function, as it’s using comma to separate thousands all the time.

  1. The format of Euro varies in different countries.

Although Euro is the unified currency for many countries in the EU, the way of writing down the currency varies across EU countries. For example, Germany puts the currency symbol at the end of each number, and uses comma as decimal separator and period for thousands. In France, however, people don’t use period for thousands.

Obviously, when we cannot decide the original country of a user, it is important to keep in mind that there might be different countries sharing the same currency. That’s why when we are setting locales, we use both language code and the country code.

  1. The conversion and calculation between different currencies were not included.

The i18n function in JavaScript cannot convert a currency to another. To show the exact amount of money in another currency. We need to add calculation formula to our JavaScript.

(You can access the code from my GitHub)

[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl

Best Practices of Using CAT tools in a Localization Project: A Beginner’s View

Learning how to use CAT tools is essential for a graduate student like me who is studying translation and localization management. Based on what I’ve learned from the introduction to CAT class, I’d like to share some thoughts on the best practices of using CAT tools in a localization project. I’ll use the in-class final project as an example.

Our final project is the simulation of a small localization project handled by an LSP.  In this project, our team — the PandaCAT company is cooperating with the Foreign Affairs Journal to help translate its article into Chinese. To finish the project, our team needs to touch on all the required steps from drafting a project proposal to finally sending all the deliverables. In this process, the use of CAT tools (in this case, we chose Trados) plays an important role in file preparation, quote generation, translation, quality check, and the export of deliverables. Therefore, keeping the following in mind will help you complete a project more smoothly.

  1. Use the CAT tool to do file analysis and preparation

CAT tools are dispensable when you decide to get familiar with the files to be translated. When you create a new project and add a file to it, use the file settings to get a detailed perspective.

In our project, for example, our source file, which is a word document, actually contains many hyperlinks. By default, Trados will extract these hyperlinks and all the hyperlinks will show up when you do translation. To solve this problem, you can change the default setting in the project file type settings.

Here, pseudo translation should also be used to check if all the settings are correct and the file is ready for translation.  It can also give your client a preview of the final document.

After doing all the file preparation and analysis, click on the report and you will get a detailed analysis report of the file to be translated. Based on this report, you are able to generate a quote.

  1. Check the term base(TB) and translation memory(TM) before sending your quote.

Quote is usually generated based on the word count, language, engineering type, and time. But checking your original TB and TM in your CAT tool can help you include a potential discount on the quote, making the quote more professional and friendly.

  1. Include the CAT tool as a resource in the proposal and explain to the client.

While your client may know nothing about CAT tools, it’s necessary to include the CAT tools in your project proposal. It will make your proposal more convincing and logical. Don’t forget to explain what kind of tool it is so that the client can get a clear understanding of how the translation will be produced and what efforts are you going to make in terms of ensuring the translation efficiency and quality.

  1. Use a CAT tool to update the TB and TM after each project.

As it’s mentioned above, TB and TM are powerful. Updating your TB and TM will not only improve your translation efficiency for your future projects potentially, but also should be considered when you decide to wrap up your deliverables. Putting in the TB and TM into final deliverables may help the client reduce the cost of future projects.

CAT tools like Trados are helpful for project managers, translators, and the client. In addition to the functions mentioned above, they can also perform quality check, alignment, machine translation, file handling, etc. All these makes translation easier, faster and more accurate.

To download our project files (proposal, source file, deliverables, in-class presentation), please click here.

XTRF: a powerful tool to improve project management efficiency

The on-time delivery of a project is vital to maintaining the trust between clients and LSPs. To efficiently complete a project, the project manager may want to use a tool that can both track the whole work flow and ensure an agile communication among different stakeholders of the project, such as vendors, clients, engineers. Tasked with the whole project management process, the project manager is responsible for schedule and budget performance, selection and management of the translation team, ensuring the quality of translation work, and serving as the primary point of contact for the client throughout the project.[1] It’s very challenging. Manually track the workflow, progress, and contact with other people requires a lot of energy, time, and resources and may bring higher possibility of mistakes.

The project management tool XTRF provides a wide range of functionalities that covers a classical localization project. Although for those who have never used XTRF or similar tools, it may take a while to learn, but what most people really care about is that can XTRF really improve my project management efficiency? Or, can ROI be genrated by investing my time and money on these new tools?

Let’s find this out by simulating the project manager managing a small localization project.

Selecting Projects

First, the project manager needs to get the right project. XTRF provides a strong database function and the project manager can easily sort out projects by clicking the “view” beside “all projects”. After selecting desired project, users can export the data into different types of files for other usage.

database of projects

 

Reaching Out to Vendors

Next, the project manager may want to find the right vendors as soon as possible. When looking for vendors, XTRF can automatically filter active vendors displaying the records that meet specific criteria. XTRF also supports the vendor management by making the process of selecting vendors clear and easy to follow. The project manager can see the availability, location and the language combination, etc. This will help the project manager choose the best vendors, reach out to a larger pool of vendors, and optimize the cost. One cool thing about selecting vendors is that the project manager can send project requests to many vendors and the project will be assigned to people who respond first. In this way, project managers will no longer need to wait anxiously by their computers after sending out dozens of repetitive emails asking for availability, and check their email box again and again for response, which will save a lot of time and energy.

database of vendors

File Management

Once the project has been launched, it can run on its own. Relevant stakeholders will be notified by XTRF automatically at the right time and the project manager will only be notified when things go wrong. Here, I’d like to mention the smart file management feature of XTRF. A project manager is likely to get tangled by many projects at the same time. Each project may have numerous files from various people. Manually handling with all these files is time-consuming and mistake prone. With XTRF, the project manager can send, store, and browse files for each project, or from each vendor.

Product Delivery & Invoice

Finally, after all the TEP, DTP, QA and review, the finalized product is ready for shipping. The on-time delivery of a project can be contributed by the flexible scheduling function and the instant notification in XTRF. The project has been completed smoothly before the deadline. Wait, what about sending out invoice? XTRF could help with that too. Moreover, it will track all the financial information for users to review and analyze.

PM Portal, Client Portal, Vendor Portal

XTRF is not a tool that can be used only by project managers. In fact, it has three different portals: the project manager portal, the client portal and the vendor portal.

Compared to the project manager portal, the other two portals are less complex and core functions are presented in a neat format.

vendor portal

client portal

Although the vendor portal and the client portal seem to have less functions than the project manger portal, but these portals do covers all the process for cooperation and communication with vendors and clients.

Take the vendor portal for example, as a vendor, the translator may need to know what are the on-going tasks, who to contact with, the details about each project. XTRF can assist translators from the very beginning — accepting tasks, to the very end — delivering files.

The client portal helps the client launch a new project just by clicking their mouse, get connected with the right person, and know about the whole process of a project.

In conclusion, XTRF is a powerful project management tool which is highlighted by automation. Throughout the exploration process of XTRF, the only thing I’ve found awkward is the UI of the client portal. Obviously, it is quite different from the UI in the other two portals. Inconsistency on the UI design might lower the efficiency of work and extend the time for training.

 

[1] http://www.languagescientific.com/9-ways-a-project-manager-makes-your-translation-or-localization-a-success/

A Summary of Basic Tags in HTML

While some tags have a very specific purpose, such as image and video tags, most tags are used to describe the content that they surround, which helps us modify and style our content later. There are seemingly infinite numbers of tags to use (many more than we’ve taught). Knowing when to use each one is based on how you want to describe the content of your HTML. Descriptive, well-chosen tags are one key to high-quality web development. A full list of available HTML tags can be found here.

You now know all of the basic elements you need to structure an HTML page and add different types of content. Very soon you’ll be creating beautiful websites!

Let’s review what you’ve learned in this lesson:

  1. Headings and sub-headings, <h1> to <h6>tags, are used to enlarge text.
  2. <p><span> and <div> tags specify text or blocks.
  3. The <em> and <strong> tags are used to emphasize text.
  4. Line breaks are created with the <br> tag.
  5. Ordered lists (<ol>) are numbered and unordered lists (<ul>) are bulleted.
  6. Images (<img>) and videos (<video>) can be added by linking to an existing source.
  7. Anchor tags (<a>) are used to link to internal pages, external pages or content on the same page.
  8. You can create sections on a webpage and jump to them using <a> tags and addings ids to the elements you wish to jump to.
  9. The nav element contains links to internal pages or content.

(Source: Codecademy)

Some Sites to Look at if You Want to Know AI Industry

I’ve collected several useful sites for learning what’s happening in AI/tech industry.

https://singularityhub.com

https://www.technologyreview.com

https://futurism.com

https://www.inverse.com/topic/ai

http://venturebeat.com/

https://www.wired.com/most-recent/

http://aiweekly.co/

https://www.cnet.com/news/

http://www.cbsnews.com/tech/

https://siliconangle.com/

http://www.abc.net.au/news/story-streams/artificial-intelligence/

http://www.brinknews.com

http://www.signature-reads.com

https://www.theatlantic.com/technology/

https://www.weforum.org/reports

https://www.buzzfeed.com/

Newer posts

© 2025 Ziqi Zhou

Theme by Anders NorenUp ↑