我们使用visual studio 2008开发asp.net webforms。对于多语言支持,我们翻译所有文本。但是,在设计时,我们通常只需输入英文文本并稍后再翻译(否则会中断工作流程)。
我在选项中添加了“ToTranslate”标记。在C#代码中添加//ToTranslate: something
可以正确地将条目添加到任务列表中。然而,我还没有想出如何为aspx和ascx文件(我们的大部分用户文本都存在)做同样的事情。
插入<%-- //ToTranslate: something --%>
或<%-- ToTranslate: something --%>
不起作用。
有什么想法吗?
答案 0 :(得分:19)
在我看来,如果你把分隔符&lt;%和%&gt;在他们自己的线上。我这样做是:转到工具菜单,然后单击选项,然后单击环境 - &gt;任务列表添加新的ToTranslate令牌。单击“确定”接受更改。回到ASPX页面,我自己在一行上添加了注释,并在行上单独添加了代码分隔符。
答案 1 :(得分:7)
仅供参考,如果您想在 .Net MVC3 razor cshtml文件中执行此操作语法:
@{
//TODO: Move this inline <style> css to a file
}
请注意:您需要将尾部}括号放在新行上,否则它将包含在//注释中。你可以使用下面的/ ** /喜欢这样做,并将它全部放在一行上,但它更多的是打字,而且有点难以阅读。我的看法是,如果它让你烦恼,你的评论在你的文件中占用3行,更有动力解决问题并完全删除它:)
@{/*TODO: Move this inline <style> css to a file*/}
答案 2 :(得分:0)
您自己不需要在线上的<%%>。此示例显示了哪些有效,哪些无效:
#define MAXLINE 1000
int getLine(char, int);
int main(){
char line[MAXLINE];
int len;
printf("%s\n", line); //making sure that there is nothing in line
len = getline(line, MAXLINE);
printf("length: %d\n", len);
printf("%s", line); //now there's something in line!?
return 0;
}
int getline(char s[],int lim)
{
int c, i;
for (i=0; i < lim-1 && (c=getchar())!=EOF && c!='\n'; ++i)
s[i] = c;
if (c == '\n') {
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}
这可能是由于HTML注释和某种形式的aspx注释之间的区别正在被-弄乱了,因为那是html注释的一部分?