Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 您通常如何编程语言选择_User Interface_Internationalization_Accessibility - Fatal编程技术网

User interface 您通常如何编程语言选择

User interface 您通常如何编程语言选择,user-interface,internationalization,accessibility,User Interface,Internationalization,Accessibility,我想从有现场经验的人那里了解,用多种语言(让用户在英语、法语、德语之间选择)的UI或CMD实现程序的最佳实践是什么 如果已经有关于这个话题的讨论,我将不胜感激,如果有人能给我发一个链接,在最初的几次谷歌搜索中,我只找到了一些关于如何选择编程语言的东西 我想到的第一个选项是switch(globalStringLanguage)和#ifdef德语#定义了schritt的进度 我真的很想知道,是否有一个最佳实践(和哪一个将是),以及你们如何在你们的公司实施它 提前感谢您的回复, 1973 Progr


我想从有现场经验的人那里了解,用多种语言(让用户在英语、法语、德语之间选择)的UI或CMD实现程序的最佳实践是什么

如果已经有关于这个话题的讨论,我将不胜感激,如果有人能给我发一个链接,在最初的几次谷歌搜索中,我只找到了一些关于如何选择编程语言的东西

我想到的第一个选项是switch(globalStringLanguage)和#ifdef德语
#定义了schritt
的进度

我真的很想知道,是否有一个最佳实践(和哪一个将是),以及你们如何在你们的公司实施它

提前感谢您的回复,

1973 ProgrammingDude

您可以研究4个“最佳实践/主题”:-

i18n-国际化

这更多的是关于你设计软件的方式。您可以设计按钮等来“查找”字典文件中应该包含的文本,而不是将它们硬编码到源代码中

它还适用于日期和货币等内容,并允许根据语言/区域设置对其进行不同的格式设置

如果您的产品设计正确,您应该能够更改按钮、链接等上的所有文本,并在更改一个语言变量的情况下更改日期格式、货币格式等

将此部分视为在设计系统时考虑翻译、本地格式,甚至从右向左阅读阿拉伯语等语言的从右向左布局

l10n-本地化

这是在i18n下设计系统的过程。您可以定义格式选项,以便日期等是正确的

您还需要定义按钮等的措辞,以便它们是正确的

最后,您还将拥有一个系统,以便可以为给定的语言环境翻译内容

将此部分视为实际的翻译过程。

l12y-本地化

几乎涵盖了l10n的过程和注意事项-刚才提到过,因此您可以研究它以了解更复杂的场景和实现思想

g11n-全球化

包含上述所有标准,但再次提及仅供参考,因为在搜索如何解决特定问题时,它偶尔会在谷歌上抛出一些不同的文章

快速健康检查

.widget{
   //define general styles
}
.left-to-right .widget{
   //add some formatting to adjust layout for left-to-right languages such as English when the 'left-to-right' global variable is set.
    margin-left: 20px;
}

.right-to-left .widget{
   //add some formatting to adjust layout for right-to-left languages such as Arabic when the 'right-to-left' global variable is set.
   margin-right: 0px;
}
当设计一个支持
glln
的系统时,更容易有几点来帮助您思考您正在做出的决策

  • 如果您在HTML标记/控件/任何适用于所选编程语言的内容中输入任何纯文本,那么您很可能犯了错误。纯文本的每一项都应该以编程方式插入到页面中

  • 设计一个字典系统-对于你想添加到网站的每一段纯文本,将其添加到字典中。如果需要,字典可以是一个简单的键:值列表,键为英语翻译,值为您所在地区的翻译。确保你从英语开始:英语翻译,这样你就可以确保你不会错过任何。我推荐JSON数组,因为现在大多数翻译公司都知道如何使用JSON数组,而不需要为它们设计用户界面

  • <> L> >P>当设计一个小部件/组件时,考虑较长的文本的含义——仅仅因为一个布局在英语中工作(即一个按钮组适合一行)并不意味着它将在另一行中工作。有些语言可能是单词翻译的3倍,所以在设计布局时必须考虑这一点。

  • 任何东西都应该设计成可以很容易地反转。从右到左的所有版本都应该易于实现,因此设计系统时只需更改几个变量即可创建RTL版本。(即,如果基于web的控件有一个主CSS定义,然后确保应用于主体的全局CSS类可以切换布局)

  • 这不仅仅是文字->图像需要不同,因为不同的文化会以不同的方式解读图像。此外,肖像画应该国际化,因为在英国,一美元钞票的图标不能很好地代表金钱,更不用说在其他国家了

  • CSS示例,但该原则适用于所有语言/平台

    .widget{
       //define general styles
    }
    .left-to-right .widget{
       //add some formatting to adjust layout for left-to-right languages such as English when the 'left-to-right' global variable is set.
        margin-left: 20px;
    }
    
    .right-to-left .widget{
       //add some formatting to adjust layout for right-to-left languages such as Arabic when the 'right-to-left' global variable is set.
       margin-right: 0px;
    }
    

    谢谢你的回答。研究了目前为止的前两个标准。这是一个比我想象的更具包容性和相互影响的话题