Fix the zh-cn wording
This commit is contained in:
parent
deb0755076
commit
bc99e72ee5
|
|
@ -13,13 +13,13 @@
|
||||||
|
|
||||||
## 这是什么?
|
## 这是什么?
|
||||||
|
|
||||||
与典型的软件工程师面试不同,前端面试对算法的重视程度较低,更多的问题会集中在错综复杂的前端领域,比如:HTML、CSS、JavaScript 等等。
|
与典型的软件工程师面试不同,前端面试对算法的重视比较低。面试会更多的考查错综复杂的前端知识,像HTML、CSS、JavaScript的相关知识。
|
||||||
|
|
||||||
尽管有一些现有资源可以帮助前端开发人员准备面试,但并没有软件工程师面试资料那么丰富。在现有资源中,可能最有用的题库是[前端开发者面试问题](https://github.com/h5bp/Front-end-Developer-Interview-Questions)。不幸的是,有许多问题,我在网上找不到完整满意的答案,因此我在这里试着回答这些问题。作为一个开源项目,它可以随着社区广泛参与,得到更多的支持。
|
虽然现在有一些资料,可以帮助前端开发者准备面试,但是远不如软件工程师那么丰富。目前为止,最有用的前端面试资料是[前端开发者面试问题集](https://github.com/h5bp/Front-end-Developer-Interview-Questions)。但是,有相当一部分问题,我在网上找不到完整满意的答案。因此,我在这里试着回答这些问题。这是一个开源项目,希望随着社区广泛参与,得到更多的支持。
|
||||||
|
|
||||||
## 在找通用面试材料?
|
## 在找常规的面试材料?
|
||||||
|
|
||||||
那你可能对[技术面试手册](https://github.com/yangshun/tech-interview-handbook)感兴趣,它对常规面试很有帮助,包含算法、性格行为等问题,还有一份[面试锦囊](https://github.com/yangshun/tech-interview-handbook/blob/master/preparing/cheatsheet.md)!
|
那你可能对[技术面试手册](https://github.com/yangshun/tech-interview-handbook)感兴趣,它对常规面试很有帮助,包含算法、性格行为等一系列问题。另外,里面还有一份[面试锦囊](https://github.com/yangshun/tech-interview-handbook/blob/master/preparing/cheatsheet.md)!
|
||||||
|
|
||||||
## 目录
|
## 目录
|
||||||
|
|
||||||
|
|
@ -131,13 +131,13 @@
|
||||||
|
|
||||||
## HTML 问题
|
## HTML 问题
|
||||||
|
|
||||||
这部分是[前端开发者面试问题-HTML 问题](https://github.com/h5bp/Front-end-Developer-Interview-Questions#html-questions)的答案。 欢迎提出 PR 进行建议和指正!
|
本章节是[前端开发者面试问题- HTML 部分](https://github.com/h5bp/Front-end-Developer-Interview-Questions#html-questions)的答案。 欢迎提出 PR 进行建议和指正!
|
||||||
|
|
||||||
### `DOCTYPE`有什么用?
|
### `DOCTYPE`有什么用?
|
||||||
|
|
||||||
`DOCTYPE`是“document type”的缩写。它是 HTML 中用来区分标准模式和[怪异模式](https://quirks.spec.whatwg.org/#history)的声明。它用来告知浏览器使用标准模式渲染页面。
|
`DOCTYPE`是“document type”的缩写。它是 HTML 中用来区分标准模式和[怪异模式](https://quirks.spec.whatwg.org/#history)的声明,用来告知浏览器使用标准模式渲染页面。
|
||||||
|
|
||||||
得到的启示是 - 只需在页面开始处添加`<!DOCTYPE html>`。
|
从中获得的启发:在页面开始处添加`<!DOCTYPE html>`即可。
|
||||||
|
|
||||||
###### 参考
|
###### 参考
|
||||||
|
|
||||||
|
|
@ -147,11 +147,11 @@
|
||||||
|
|
||||||
### 如何提供包含多种语言内容的页面?
|
### 如何提供包含多种语言内容的页面?
|
||||||
|
|
||||||
这个问题有点含糊其辞,我认为它是在询问最常见的情况,即如何提供包含多种语言内容的页面,但是页面的内容用一致的语言显示。
|
这个问题有点问得含糊其辞,我认为这是在询问最常见的情况:如何提供包含多种语言内容的页面,并保证页面内容语言的一致性。
|
||||||
|
|
||||||
当客户端向服务器发送 HTTP 请求时,通常会发送有关语言首选项的信息,比如使用`Accept-Language`请求头。如果替换方案可行,服务器可以利用该信息返回语言相匹配的文档。返回的 HTML 文档还应在`<html>`标签中声明`lang`属性,比如`<html lang="en">...</html>`
|
当客户端向服务器发送 HTTP 请求时,通常会发送有关语言首选项的信息,比如使用`Accept-Language`请求头。如果替换语言存在,服务器可以利用该信息返回与之相匹配的 HTML 文档。返回的 HTML 文档还应在`<html>`标签中声明`lang`属性,比如`<html lang="en">...</html>`
|
||||||
|
|
||||||
在后端,HTML 标记将包含以 YML 或 JSON 格式存储的特定语言的`i18n`占位符和内容。然后服务器动态生成带有特定语言内容的 HTML 页面,这通常借助后端框架实现。
|
在后台中,HTML 将包含`i18n`占位符和待以替换的内容,这些按照不同语言,以 YML 或 JSON 格式存储。然后,服务器将动态生成指定语言内容的 HTML 页面。整个过程通常需要借助后台框架实现。
|
||||||
|
|
||||||
###### 参考
|
###### 参考
|
||||||
|
|
||||||
|
|
@ -160,12 +160,12 @@
|
||||||
### 在设计开发多语言网站时,需要留心哪些事情?
|
### 在设计开发多语言网站时,需要留心哪些事情?
|
||||||
|
|
||||||
* 在 HTML 中使用`lang`属性。
|
* 在 HTML 中使用`lang`属性。
|
||||||
* 指引用户切换到母语——允许用户轻松切换到自己的国家/语言而不用麻烦。
|
* 引导用户切换到自己的母语——让用户能够轻松地切换到自己的国家或语言,而不用麻烦。
|
||||||
* 在图片中展示文本是网站规模化的阻碍——将文本放置在图片中仍然是一种非常流行的方式,可以在任何终端上显示出美观的非系统字体。然而,为了翻译图片中的文本,需要为每种语言单独创建对应的图片,这种做法很容易在图片数量不断增长的过程中失控。
|
* 在图片中展示文本会阻碍网站规模增长——把文本放在图片中展示,仍然是一种非常流行的方式。这样做可以在所有终端上,都能显示出美观的非系统字体。然而,为了翻译图片中的文本,需要为每种语言单独创建对应的图片,这种做法很容易在图片数量不断增长的过程中失控。
|
||||||
* 限制词语或句子的长度——某些内容可能因使用另一种语言书写而变长。设计时,警惕文字溢出布局的问题,最好不要使用受文字数量影响较大的设计。比如标题、标签、按钮的设计,受文字数量影响较大,它们上面的文本与正文或评论部分不同,一般不可以自由换行。
|
* 限制词语或句子的长度——网页内容在使用其他语言表述时,文字长度会发生变化。设计时,需要警惕文字长度溢出布局的问题,最好不要使用受文字长度影响较大的设计。比如标题、标签、按钮的设计,往往很受文字长度影响,这些设计中的文字与正文或评论部分不同,一般不可以自由换行。
|
||||||
* 注意颜色的使用——颜色在不同的语言和文化中,意义和感受是不同的。设计时应该使用恰当的颜色。
|
* 注意颜色的使用——颜色在不同的语言和文化中,意义和感受是不同的。设计时应该使用恰当的颜色。
|
||||||
* 日期和货币的格式化——日期的显示方式在不同的国家和地区,有时是不同的。比如美国的格式是“May 31, 2012”,而欧洲部分地区的格式是“31 May 2012”。
|
* 日期和货币的格式化——日期在不同的国家和地区,会以不同的方式显示。比如美国的日期格式是“May 31, 2012”,而在欧洲部分地区,日期格式是“31 May 2012”。
|
||||||
* 不要连接翻译的字符串——不要做类似这样的事情,比如`“今天的日期是”+具体日期`,这可能会打乱其他语言的语序。替代方案是为每种语言编写带变量替换的模版字符串。请看下面两个分别用英语和中文表示的句子:`I will travel on {% date %}`和`{% date %} 我会出发`。可以看到,语言的语法规则不同,变量的位置是不同的。
|
* 不要使用连接的翻译字符串——不要做类似这样的事情,比如`“今天的日期是”+具体日期`。这样做可能会打乱其他语言的语序。替代方案是,为每种语言编写带变量替换的模版字符串。请看下面两个分别用英语和中文表示的句子:`I will travel on {% date %}`和`{% date %} 我会出发`。可以看到,语言的语法规则不同,变量的位置是不同的。
|
||||||
* 注意语言阅读的方向——在英语中,文字是从左向右阅读的;而在传统日语中,文字是从右向左阅读的。
|
* 注意语言阅读的方向——在英语中,文字是从左向右阅读的;而在传统日语中,文字是从右向左阅读的。
|
||||||
|
|
||||||
###### 参考
|
###### 参考
|
||||||
|
|
@ -174,9 +174,9 @@
|
||||||
|
|
||||||
### 什么是`data-`属性?
|
### 什么是`data-`属性?
|
||||||
|
|
||||||
在 JavaScript 框架变得流行之前,前端开发者使用`data-`属性,将额外数据存储在 DOM 自身中,而没有其他 Hack 手段(比如使用非标准属性或 DOM 上额外属性)。这样做是为了将私有的自定义数据存储到页面或应用中,对此没有其他更适当的属性或元素。
|
在 JavaScript 框架变得流行之前,前端开发者经常使用`data-`属性,把额外数据存储在 DOM 自身中。当时没有其他 Hack 手段(比如使用非标准属性或 DOM 上额外属性)。这样做是为了将自定义数据存储到页面或应用中,对此没有其他更适当的属性或元素。
|
||||||
|
|
||||||
而现在,不鼓励使用`data-`属性。原因之一是,用户可以通过在浏览器中使用检查元素,轻松地修改属性值以修改数据。数据模型最好存储在 JavaScript 本身中,并利用数据绑定,通过库或框架使之与 DOM 保持更新。
|
而现在,不鼓励使用`data-`属性。原因之一是,用户可以通过在浏览器中利用检查元素,轻松地修改属性值,借此修改数据。数据模型最好存储在 JavaScript 本身中,并利用框架提供的数据绑定,使之与 DOM 保持更新。
|
||||||
|
|
||||||
###### 参考
|
###### 参考
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue