trip_advisor 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +52 -0
  4. data/.rspec +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +5 -0
  7. data/Gemfile +4 -0
  8. data/Gemfile.lock +118 -0
  9. data/LICENSE.txt +20 -0
  10. data/README.md +23 -0
  11. data/Rakefile +7 -0
  12. data/lib/trip_advisor/api.rb +45 -0
  13. data/lib/trip_advisor/build.rb +221 -0
  14. data/lib/trip_advisor/rake_tasks.rb +182 -0
  15. data/lib/trip_advisor/resource_manager.rb +101 -0
  16. data/lib/trip_advisor/strings_file.rb +112 -0
  17. data/lib/trip_advisor/translation.rb +63 -0
  18. data/lib/trip_advisor/translation_tool.rb +110 -0
  19. data/lib/trip_advisor/version.rb +3 -0
  20. data/lib/trip_advisor.rb +5 -0
  21. data/run_tests.sh +6 -0
  22. data/spec/api_spec.rb +34 -0
  23. data/spec/builder_spec.rb +262 -0
  24. data/spec/fixtures/AndroidStrings.txt +21 -0
  25. data/spec/fixtures/Strings.txt +47 -0
  26. data/spec/fixtures/project.git/.gitignore +1 -0
  27. data/spec/fixtures/project.git/BUILD.json +7 -0
  28. data/spec/fixtures/project.git/Code/Project.h +0 -0
  29. data/spec/fixtures/project.git/Code/Project.m +0 -0
  30. data/spec/fixtures/project.git/Gemfile +3 -0
  31. data/spec/fixtures/project.git/Gemfile.lock +38 -0
  32. data/spec/fixtures/project.git/HEAD +1 -0
  33. data/spec/fixtures/project.git/LICENSE +1 -0
  34. data/spec/fixtures/project.git/Podfile +6 -0
  35. data/spec/fixtures/project.git/Podfile.lock +14 -0
  36. data/spec/fixtures/project.git/Project.podspec +14 -0
  37. data/spec/fixtures/project.git/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  38. data/spec/fixtures/project.git/TestProject/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  39. data/spec/fixtures/project.git/TestProject/TATPAppDelegate.h +15 -0
  40. data/spec/fixtures/project.git/TestProject/TATPAppDelegate.m +49 -0
  41. data/spec/fixtures/project.git/TestProject/TestProject-Info.plist +38 -0
  42. data/spec/fixtures/project.git/TestProject/TestProject-Prefix.pch +16 -0
  43. data/spec/fixtures/project.git/TestProject/en.lproj/InfoPlist.strings +1 -0
  44. data/spec/fixtures/project.git/TestProject/main.m +18 -0
  45. data/spec/fixtures/project.git/TestProject.xcodeproj/project.pbxproj +1020 -0
  46. data/spec/fixtures/project.git/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  47. data/spec/fixtures/project.git/TestProject.xcodeproj/project.xcworkspace/xcuserdata/blake.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  48. data/spec/fixtures/project.git/TestProject.xcodeproj/xcuserdata/blake.xcuserdatad/xcschemes/TestProject.xcscheme +96 -0
  49. data/spec/fixtures/project.git/TestProject.xcodeproj/xcuserdata/blake.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  50. data/spec/fixtures/project.git/TestProject.xcworkspace/contents.xcworkspacedata +1 -0
  51. data/spec/fixtures/project.git/TestProjectTests/TestProjectTests-Info.plist +22 -0
  52. data/spec/fixtures/project.git/TestProjectTests/TestProjectTests.m +34 -0
  53. data/spec/fixtures/project.git/TestProjectTests/en.lproj/InfoPlist.strings +1 -0
  54. data/spec/fixtures/project.git/VERSION +1 -0
  55. data/spec/fixtures/project.git/config +7 -0
  56. data/spec/fixtures/project.git/description +1 -0
  57. data/spec/fixtures/project.git/index +0 -0
  58. data/spec/fixtures/project.git/info/exclude +6 -0
  59. data/spec/fixtures/project.git/logs/HEAD +1 -0
  60. data/spec/fixtures/project.git/logs/refs/heads/master +1 -0
  61. data/spec/fixtures/project.git/objects/00/a6b3f80ebbe4019f03461416061e8805e6eab1 +0 -0
  62. data/spec/fixtures/project.git/objects/03/c303d5552f29d366d11a13448c3c18e94c3bfa +0 -0
  63. data/spec/fixtures/project.git/objects/03/ff7c3a95a196ac8ad1d53db2bd4fb4c80507c1 +0 -0
  64. data/spec/fixtures/project.git/objects/0a/7123364a174ffda52d29a18cdd31fd325bbd6c +0 -0
  65. data/spec/fixtures/project.git/objects/0d/183cba8b0a5e477ea1d001130c222af19b8324 +0 -0
  66. data/spec/fixtures/project.git/objects/0e/6ba5232c3c2f8a7e435794e845b5dc9f339d8b +0 -0
  67. data/spec/fixtures/project.git/objects/25/5b4ee687ed1337cffb10e6d07bb89ee6e5d180 +0 -0
  68. data/spec/fixtures/project.git/objects/25/60a2b9ab9323ca61a0fdebd3b4af46dbe4c272 +0 -0
  69. data/spec/fixtures/project.git/objects/2b/f8bd93d56787a7548c7f8960a94f05c269b486 +0 -0
  70. data/spec/fixtures/project.git/objects/38/439105a884d2556443c7b5c645034e67fb7987 +0 -0
  71. data/spec/fixtures/project.git/objects/3e/efcb9dd5b38e2c1dc061052455dd97bcd51e6c +0 -0
  72. data/spec/fixtures/project.git/objects/53/8b3019ab68814604fbc8e017d09b690c22728c +0 -0
  73. data/spec/fixtures/project.git/objects/59/c178850684e21fafbebedeff15b2b522402af2 +0 -0
  74. data/spec/fixtures/project.git/objects/62/037867910d9aa803d7e02addc26574e270d3d8 +0 -0
  75. data/spec/fixtures/project.git/objects/66/05c1af131470a3b635d166f2591917b32f3b82 +0 -0
  76. data/spec/fixtures/project.git/objects/69/67e396037a52d8300eb9dc8a1e9f7155dd55bf +0 -0
  77. data/spec/fixtures/project.git/objects/6b/5ad4043aee9bc0936466760665f870d4f2f40f +0 -0
  78. data/spec/fixtures/project.git/objects/6c/fc746d4ecf2e3ac67bb0cf6c4013e1aff9b1f1 +0 -0
  79. data/spec/fixtures/project.git/objects/6f/3b0ab36651ca648408c176f81e4b2e202efa0b +0 -0
  80. data/spec/fixtures/project.git/objects/74/3435c9bee5c433fe166891e698fdc70d81a3de +0 -0
  81. data/spec/fixtures/project.git/objects/96/81bfb8ec019f74df384cfb66d68e94bd6d9005 +0 -0
  82. data/spec/fixtures/project.git/objects/99/fa9259e929fe3bee4791ff2a63070fc0358c0a +3 -0
  83. data/spec/fixtures/project.git/objects/a1/5f8980cfbf126a9a0b3ddf7fb1c3fbd6480934 +2 -0
  84. data/spec/fixtures/project.git/objects/a3/96706db4ec4cfca4d984d38b90dc8098bded40 +1 -0
  85. data/spec/fixtures/project.git/objects/b4/42134ccda2b0b1813288e7e04a401a4bef2b59 +0 -0
  86. data/spec/fixtures/project.git/objects/b9/2732c79e00cf2fad5ceceb61bbc7a9a9739d2c +0 -0
  87. data/spec/fixtures/project.git/objects/ba/01f5352549018dfdb95423b9e0974443ec0346 +1 -0
  88. data/spec/fixtures/project.git/objects/ba/8dd7d2162334426facd310f62ed923eb6f4cf5 +0 -0
  89. data/spec/fixtures/project.git/objects/bf/422763a0101a5971e15d53581acb825b4d38b8 +0 -0
  90. data/spec/fixtures/project.git/objects/c7/9ebd3ada1309bae694b8e6760592b1254e035c +2 -0
  91. data/spec/fixtures/project.git/objects/ca/7ced48ee61e517fc57576a33dc9d95f5d4f539 +2 -0
  92. data/spec/fixtures/project.git/objects/ce/eed5f059b6d374d08e0b1e732463842b3a5a91 +0 -0
  93. data/spec/fixtures/project.git/objects/d7/89fd591fee7d26c2f40c6614b5a91931377f88 +0 -0
  94. data/spec/fixtures/project.git/objects/d8/ec4dbb2804f53fd863cd0adb830c5bf4e85a1d +0 -0
  95. data/spec/fixtures/project.git/objects/dc/680e07f12748657d5a798495f08ce3ad884f0b +0 -0
  96. data/spec/fixtures/project.git/objects/de/de871ad5691708aca809557a823082a70dde69 +0 -0
  97. data/spec/fixtures/project.git/objects/e0/30730e56be52e4dc293c829f73e0c586073ad2 +0 -0
  98. data/spec/fixtures/project.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  99. data/spec/fixtures/project.git/objects/e6/f7f8a92eb3177d10a809b96f41905e9be4cc2b +0 -0
  100. data/spec/fixtures/project.git/objects/ed/7115c4ae4c1885ee75f6ffe946b559546efd28 +0 -0
  101. data/spec/fixtures/project.git/objects/f1/e01dd1256054d5717ef0c89008f0a22639e273 +2 -0
  102. data/spec/fixtures/project.git/objects/f9/3e9c03a56aba331bcd98cb2ef00ba0003de285 +0 -0
  103. data/spec/fixtures/project.git/refs/heads/master +1 -0
  104. data/spec/fixtures/search.json +14159 -0
  105. data/spec/fixtures/search_results_1-50.html +1076 -0
  106. data/spec/fixtures/search_results_101-110.html +476 -0
  107. data/spec/fixtures/search_results_51-100.html +1076 -0
  108. data/spec/fixtures/translation_details.html +728 -0
  109. data/spec/fixtures/translation_details.json +738 -0
  110. data/spec/spec_helper.rb +28 -0
  111. data/spec/strings_file_spec.rb +225 -0
  112. data/spec/translation_spec.rb +21 -0
  113. data/spec/translation_tool_spec.rb +146 -0
  114. data/trip_advisor.gemspec +38 -0
  115. metadata +474 -0
@@ -0,0 +1,476 @@
1
+ <html>
2
+ <head>
3
+ <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
4
+ <META src="no-cache" HTTP-EQUIV="Pragma">
5
+ <META src="no-cache,must-revalidate" HTTP-EQUIV="Cache-Control">
6
+ <META src="text/html;charset=iso-8859-1" HTTP-EQUIV="content-type">
7
+ <META src="0" HTTP-EQUIV="Expires">
8
+ <title>Translation toolView</title>
9
+ <style type="text/css">
10
+ <!--
11
+ body {
12
+ background-color: #ffffcc;
13
+ margin-left: 20px;
14
+ font-family: Verdana, Arial, Helvetica, sans-serif;
15
+ font-weight: normal;
16
+ font-size: 10px;
17
+ }
18
+ #errorMessage {
19
+ font-family: Verdana, Arial, Helvetica, sans-serif;
20
+ font-weight: bold;
21
+ font-size: 12pt;
22
+ background-color: red;
23
+ border: 1pt solid black;
24
+ padding: 5pt;
25
+ }
26
+ #message {
27
+ font-family: Verdana, Arial, Helvetica, sans-serif;
28
+ font-weight: bold;
29
+ font-size: 12pt;
30
+ background-color: white;
31
+ border: 1pt solid black;
32
+ padding: 5pt;
33
+ }
34
+ td {
35
+ font-family: Verdana, Arial, Helvetica, sans-serif;
36
+ font-weight: normal;
37
+ font-size: 10px;
38
+ }
39
+ th {
40
+ font-family: Verdana, Arial, Helvetica, sans-serif;
41
+ font-weight: bold;
42
+ font-size: 12px;
43
+ text-align: left;
44
+ color: #ffffff;
45
+ background-color: #000000;
46
+ }
47
+ th a {
48
+ font-family: Verdana, Arial, Helvetica, sans-serif;
49
+ font-weight: bold;
50
+ font-size: 12px;
51
+ text-align: left;
52
+ color: #ffffff;
53
+ background-color: #000000;
54
+ }
55
+ #smalltxt {
56
+ font-family: Verdana, Arial, Helvetica, sans-serif;
57
+ font-size: 8px;
58
+ color: gray;
59
+ }
60
+ #numtxt {
61
+ font-family: Verdana, Arial, Helvetica, sans-serif;
62
+ font-size: 10px;
63
+ color: black;
64
+ }
65
+ #toolbar {
66
+ border: solid black 2px;
67
+ font-family: Verdana, Arial, Helvetica, sans-serif;
68
+ font-size: 10px;
69
+ padding: 6px;
70
+ background-color: #ffcc99;
71
+ line-height: 21px;
72
+ }
73
+ #toolbar input, select {
74
+ font-family: Verdana, Arial, Helvetica, sans-serif;
75
+ font-size: 10px;
76
+ }
77
+ #toolbar form {
78
+ display: inline;
79
+ }
80
+ #actionbar b {
81
+ margin-right: 10px;
82
+ }
83
+ #tags {
84
+ font-size: 9px;
85
+ color: #333300;
86
+ }
87
+ #lockedBy {
88
+ font-size: 9px;
89
+ color: #ff0000;
90
+ }
91
+ #editHeader {
92
+ padding: 4px;
93
+ font-weight: bold;
94
+ }
95
+ .editValue {
96
+ }
97
+ #preview {
98
+ font-size: 24px;
99
+ color: black;
100
+ }
101
+ #username {
102
+ display: block;
103
+ position: absolute;
104
+ right: 10px;
105
+ top: 10px;
106
+ }
107
+ -->
108
+ </style>
109
+ <script type="text/javascript" language="JavaScript">
110
+ <!--
111
+ function selectall(status) {
112
+ var form = document.getElementById("formElements");
113
+ for (var i=0 ; i<form.elements.length ; i++)
114
+ {
115
+ var e=form.elements[i];
116
+ if (e.type=='checkbox')
117
+ {
118
+ //window.alert(e.checked);
119
+ e.checked=status;
120
+ }
121
+ }
122
+ }
123
+ function checkform ( )
124
+ {
125
+ // see http://www.thesitewizard.com/archive/validation.shtml
126
+ // for an explanation of this script and how to use it on your
127
+ // own website
128
+ // ** START **
129
+ var form = document.getElementById("edit");
130
+ if (form && form.comment && form.comment.value == "") {
131
+ alert( "You must enter a comment!" );
132
+ form.comment.focus();
133
+ return false ;
134
+ }
135
+ // ** END **
136
+ return true ;
137
+ }
138
+ function preview ( )
139
+ {
140
+ var text = document.getElementById("editText");
141
+ var preview = document.getElementById("preview");
142
+ var bGood = 1;
143
+ if(! text || ! preview) return;
144
+ // sanitize ...
145
+ var sanitized = '';
146
+ var htmlconverted = '';
147
+ var n = -1;
148
+ var nLast = 0;
149
+ var s = text.value;
150
+ while(s.indexOf("&lrm;") >=0)
151
+ {
152
+ s = s.replace("&lrm;", "");
153
+ }
154
+ // convert html
155
+ var tags = [];
156
+ while (-1 < (n = s.indexOf('<', nLast)) )
157
+ {
158
+ try
159
+ {
160
+ var nEnd = s.indexOf('>', n);
161
+ if(nEnd < 0)
162
+ {
163
+ bGood = 0;
164
+ break;
165
+ }
166
+ if(n-1 != nLast)
167
+ {
168
+ htmlconverted += s.substring(nLast, n);
169
+ if(tags.length >0 ) htmlconverted += "</span>";
170
+ }
171
+ nLast = nEnd+1;
172
+ var mytag = s.substring(n+1, nEnd);
173
+ if(mytag.match(/^\s*\//))
174
+ {
175
+ var oldtag = tags.pop();
176
+ if(!oldtag)
177
+ {
178
+ bGood = 0;
179
+ break;
180
+ }
181
+ }
182
+ else
183
+ {
184
+ tags.push(mytag);
185
+ }
186
+ if(tags.length > 0)
187
+ {
188
+ htmlconverted += "<span class='sp' style='text-decoration:underline;' title='";
189
+ var sTitle = tags.join(" ");
190
+ while(sTitle.indexOf("'") >= 0)
191
+ {
192
+ sTitle = sTitle.replace("'",'"');
193
+ }
194
+ htmlconverted += sTitle;
195
+ htmlconverted += "'>";
196
+ }
197
+ }
198
+ catch(e)
199
+ {
200
+ bGood = 0;
201
+ break;
202
+ }
203
+ }
204
+ if(nLast < s.length) htmlconverted += s.substring(nLast);
205
+ if(tags.length >0 ) htmlconverted += "</span>";
206
+ nLast = 0;
207
+ s = htmlconverted;
208
+ if(bGood) while (-1 < (n = s.indexOf('{', nLast)) )
209
+ {
210
+ try
211
+ {
212
+ var nEnd = s.indexOf('}', n);
213
+ sanitized += s.substring(nLast, n);
214
+ nLast = nEnd+1;
215
+ if(nEnd < 0)
216
+ {
217
+ bGood = 0;
218
+ break;
219
+ }
220
+ var components = s.substring(n+1,nEnd-1).split(',');
221
+ if(components.length >= 2 && components[1].indexOf('number')>=0)
222
+ {
223
+ sanitized += 42;
224
+ }
225
+ else if(components.length >= 3 && components[1].indexOf('choice')>=0)
226
+ {
227
+ var ndxStart = components[2].indexOf('|');
228
+ var ndxEnd = components[2].indexOf('#', ndxStart);
229
+ if(ndxStart <0 || ndxEnd < 0)
230
+ {
231
+ bGood = 0;
232
+ return;
233
+ }
234
+ var stmp = components[2].split('|'); stmp = stmp[1];
235
+ stmp=stmp.replace(/[0-9]+.?#/,'');
236
+ stmp=stmp.replace(/#[0-9]+/,'');
237
+ sanitized += stmp;
238
+ }
239
+ else
240
+ {
241
+ sanitized += 51;
242
+ }
243
+ }
244
+ catch(e)
245
+ {
246
+ bGood = 0;
247
+ break;
248
+ }
249
+ }
250
+ if(nLast < s.length) sanitized += s.substring(nLast);
251
+ preview.style.backgroundColor = bGood?"white":"red";
252
+ preview.innerHTML = sanitized;
253
+ }
254
+ window.onload=preview;
255
+ --></script>
256
+ </head>
257
+ <body>
258
+ <div id="username">
259
+ You are: <b>bwatters</b>
260
+ </div>
261
+ <h1>Showing 101-110 of 110 translations</h1>
262
+ <div style="background-color: #ffffcc;" id="toolbar">
263
+ <b>View: </b><img height="" width="" src="/img/s.gif"><form action="/TranslationTool" method="GET">
264
+ <input name="locale" type="hidden" value="en"><input name="q" type="hidden" value="TAFlights"><input name="offset" type="hidden" value="50"><input value="View" name="action" type="hidden"><input value="Previous" type="submit">
265
+ </form>
266
+ <img height="" width="" src="/img/s.gif"><form action="/TranslationTool" method="GET">
267
+ <input name="locale" type="hidden" value="en"><input name="q" type="hidden" value="TAFlights"><input name="offset" type="hidden" value=""><input value="View" name="action" type="hidden"><input value="Next" type="submit" disabled>
268
+ </form>
269
+ <img height="" width="" src="/img/s.gif"><form action="/TranslationTool" method="GET">
270
+ <input name="q" type="hidden" value="TAFlights"><input value="View" name="action" type="hidden"><select size="1" name="locale"><option value="ar">Arabic (ar)</option><option value="da">Danish (da)</option><option value="de">German (de)</option><option value="el">Greek (el)</option><option value="en_AU">English (en_AU)</option><option value="en_CA">English (en_CA)</option><option value="en_IE">English (en_IE)</option><option value="en_IN">English (en_IN)</option><option value="en_MY">English (en_MY)</option><option value="en_SG">English (en_SG)</option><option value="en_UK">English (en_UK)</option><option selected disabled value="en">English (en)</option><option value="es">Spanish (es)</option><option value="es_AR">Spanish (es_AR)</option><option value="es_CL">Spanish (es_CL)</option><option value="es_CO">Spanish (es_CO)</option><option value="es_MX">Spanish (es_MX)</option><option value="es_PE">Spanish (es_PE)</option><option value="es_VE">Spanish (es_VE)</option><option value="fr">French (fr)</option><option value="in">Indonesian (in)</option><option value="it">Italian (it)</option><option value="ja">Japanese (ja)</option><option value="ko">Korean (ko)</option><option value="nl">Dutch (nl)</option><option value="no">Norwegian (no)</option><option value="pl">Polish (pl)</option><option value="pt">Portuguese (pt)</option><option value="ru">Russian (ru)</option><option value="sv">Swedish (sv)</option><option value="th">Thai (th)</option><option value="tr">Turkish (tr)</option><option value="zh_CN">Chinese (zh_CN)</option><option value="zh_TW">Chinese (zh_TW)</option></select><input value="Switch locale" type="submit">
271
+ </form>
272
+ <img height="" width="" src="/img/s.gif"><form action="/TranslationTool" method="GET">
273
+ <input name="locale" type="hidden" value="en"><input name="q" type="hidden" value="TAFlights"><input value="View" name="action" type="hidden"><input value="Refresh" type="submit">
274
+ </form>
275
+ <br>
276
+ <b>Filter: </b>
277
+ <form action="/TranslationTool" method="GET">
278
+ <input name="locale" type="hidden" value="en"><img height="" width="" src="/img/s.gif">
279
+ Search: <input onClick="this.value='';" size="18" name="q" type="text" value="TAFlights"><img height="" width="" src="/img/s.gif">
280
+ By tag: <select size="1" name="tag"><option>(choose)</option></select><img height="" width="" src="/img/s.gif">
281
+ By status: <select name="filterStatus"><option value="0">
282
+ -All-</option><option value="1">
283
+ Active</option><option value="2">
284
+ Obsolete</option></select><img height="" width="" src="/img/s.gif"><input value="View" name="action" type="hidden"><input value="Filter" type="submit">
285
+ </form>
286
+ <br>
287
+ <b>Current filters:</b><img height="" width="" src="/img/s.gif">
288
+ search: TAFlights<img height="" width="" src="/img/s.gif"><a href="/TranslationTool?locale=en&action=View&sort=1">reset</a>
289
+ </div>
290
+ <br>
291
+ <form action="/TranslationTool" method="GET" id="formElements">
292
+ <input name="locale" type="hidden" value="en">
293
+ <div id="toolbar">
294
+ <input name="q" type="hidden" value="TAFlights"><img height="24" border="0" align="right" src="/img/flags/us.gif"><b>Actions: </b><img height="" width="" src="/img/s.gif"><input value="New" name="action" type="submit"><img height="" width="" src="/img/s.gif"><input value="Copy" name="action" type="submit"><img height="" width="" src="/img/s.gif"><input value="Edit" name="action" type="submit"><img height="" width="" src="/img/s.gif"><input value="History" name="action" type="submit"><img height="" width="" src="/img/s.gif">
295
+ Tag: <input onClick="this.value=''" value="(tag name)" size="10" name="tagName" type="text"> <input value="Mark" disabled name="action" type="submit"><img height="" width="" src="/img/s.gif"><a href="javascript:selectall(true);">select all</a>
296
+ </div>
297
+ <table cellspacing="0" cellpadding="2" border="1" width="100%">
298
+ <tr bgcolor="black">
299
+ <th valign="top">&nbsp;</th><th valign="top"><a href="/TranslationTool?locale=en&action=View&q=TAFlights&sort=2">ID</a></th><th width="30px" valign="top">
300
+ #trans
301
+ </th><th valign="top"><a href="/TranslationTool?locale=en&action=View&q=TAFlights&sort=1">Name</a>
302
+ <div style="background-color: yellow;" id="smalltxt">(sort)</div>
303
+ </th><th valign="top">Value</th><th valign="top">Note</th><th valign="top">Context</th>
304
+ </tr>
305
+ <tr>
306
+ <td align="right" width="10px" valign="top"><nobr><input value="290752" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
307
+ <div id="smalltxt">290752</div>
308
+ </td><td align="center" width="30px" valign="top" bgcolor="orange"><a href="/TranslationTool?action=ShowAllTranslations&id=290752&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
309
+ <div id="numtxt">27 of 34</div>
310
+ </a></td><td valign="top">TAFlights_TimeDurationinMinutes_ffffef05</td><td valign="top">
311
+ <p>%1$dm</p>
312
+ </td><td style="mid-width: 200px" valign="top">
313
+ <p>Time Duration in Minutes</p>
314
+ </td><td valign="top">
315
+ <p>
316
+ <a href="/TranslationToolSearch?action=search&q=TAFlights_TimeDurationinMinutes_ffffef05">search</a>
317
+ </p>
318
+ </td>
319
+ </tr>
320
+ <tr>
321
+ <td align="right" width="10px" valign="top"><nobr><input value="290753" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
322
+ <div id="smalltxt">290753</div>
323
+ </td><td align="center" width="30px" valign="top" bgcolor="orange"><a href="/TranslationTool?action=ShowAllTranslations&id=290753&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
324
+ <div id="numtxt">27 of 34</div>
325
+ </a></td><td valign="top">TAFlights_TimeDurationinWeeksandDays_ffffef05</td><td valign="top">
326
+ <p>%1$dwk %2$dd</p>
327
+ </td><td style="mid-width: 200px" valign="top">
328
+ <p>Time Duration in Weeks and Days</p>
329
+ </td><td valign="top">
330
+ <p>
331
+ <a href="/TranslationToolSearch?action=search&q=TAFlights_TimeDurationinWeeksandDays_ffffef05">search</a>
332
+ </p>
333
+ </td>
334
+ </tr>
335
+ <tr>
336
+ <td align="right" width="10px" valign="top"><nobr><input value="290869" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
337
+ <div id="smalltxt">290869</div>
338
+ </td><td align="center" width="30px" valign="top" bgcolor="green"><a href="/TranslationTool?action=ShowAllTranslations&id=290869&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
339
+ <div id="numtxt">34 of 34</div>
340
+ </a></td><td valign="top">TAFlights_TimeFilterTableAccessibilityLabel_ffffef05</td><td valign="top">
341
+ <p>Time Filter Table</p>
342
+ </td><td style="mid-width: 200px" valign="top">
343
+ <p>Time Filter Table Accessibility Label</p>
344
+ </td><td valign="top">
345
+ <p>
346
+ <a href="/TranslationToolSearch?action=search&q=TAFlights_TimeFilterTableAccessibilityLabel_ffffef05">search</a>
347
+ </p>
348
+ </td>
349
+ </tr>
350
+ <tr>
351
+ <td align="right" width="10px" valign="top"><nobr><input value="290868" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
352
+ <div id="smalltxt">290868</div>
353
+ </td><td align="center" width="30px" valign="top" bgcolor="green"><a href="/TranslationTool?action=ShowAllTranslations&id=290868&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
354
+ <div id="numtxt">34 of 34</div>
355
+ </a></td><td valign="top">TAFlights_TimeFilterTitle_ffffef05</td><td valign="top">
356
+ <p>Time</p>
357
+ </td><td style="mid-width: 200px" valign="top">
358
+ <p>Time Filter Title</p>
359
+ </td><td valign="top">
360
+ <p>
361
+ <a href="/TranslationToolSearch?action=search&q=TAFlights_TimeFilterTitle_ffffef05">search</a>
362
+ </p>
363
+ </td>
364
+ </tr>
365
+ <tr>
366
+ <td align="right" width="10px" valign="top"><nobr><input value="290872" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
367
+ <div id="smalltxt">290872</div>
368
+ </td><td align="center" width="30px" valign="top" bgcolor="orange"><a href="/TranslationTool?action=ShowAllTranslations&id=290872&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
369
+ <div id="numtxt">27 of 34</div>
370
+ </a></td><td valign="top">TAFlights_TravelDuration_ffffef05</td><td valign="top">
371
+ <p>Travel Time: %@</p>
372
+ </td><td style="mid-width: 200px" valign="top">
373
+ <p>Travel Duration</p>
374
+ </td><td valign="top">
375
+ <p>
376
+ <a href="/TranslationToolSearch?action=search&q=TAFlights_TravelDuration_ffffef05">search</a>
377
+ </p>
378
+ </td>
379
+ </tr>
380
+ <tr>
381
+ <td align="right" width="10px" valign="top"><nobr><input value="290874" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
382
+ <div id="smalltxt">290874</div>
383
+ </td><td align="center" width="30px" valign="top" bgcolor="green"><a href="/TranslationTool?action=ShowAllTranslations&id=290874&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
384
+ <div id="numtxt">34 of 34</div>
385
+ </a></td><td valign="top">TAFlights_Wi-FiPersonaTitle_ffffef05</td><td valign="top">
386
+ <p>Wi-Fi</p>
387
+ </td><td style="mid-width: 200px" valign="top">
388
+ <p>Wi-Fi Persona Title</p>
389
+ </td><td valign="top">
390
+ <p>
391
+ <a href="/TranslationToolSearch?action=search&q=TAFlights_Wi-FiPersonaTitle_ffffef05">search</a>
392
+ </p>
393
+ </td>
394
+ </tr>
395
+ <tr>
396
+ <td align="right" width="10px" valign="top"><nobr><input value="290742" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
397
+ <div id="smalltxt">290742</div>
398
+ </td><td align="center" width="30px" valign="top" bgcolor="orange"><a href="/TranslationTool?action=ShowAllTranslations&id=290742&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
399
+ <div id="numtxt">27 of 34</div>
400
+ </a></td><td valign="top">TAFlights_{DepartureDate},{MarketingAirlineName},{DepartureAirportCode}to{ArrivalAirportCode},{DepartureTime}to{ArrivalTime}'AccessibilityLabel_ffffef05</td><td valign="top">
401
+ <p>%1$@, %2$@, %3$@ to %4$@, %5$@ to %6$@</p>
402
+ </td><td style="mid-width: 200px" valign="top">
403
+ <p>{Departure Date}, {Marketing Airline Name}, {Departure Airport Code} to {Arrival Airport Code}, {Departure Time} to {Arrival Time}' Accessibility Label</p>
404
+ </td><td valign="top">
405
+ <p>
406
+ <a href="/TranslationToolSearch?action=search&q=TAFlights_{DepartureDate},{MarketingAirlineName},{DepartureAirportCode}to{ArrivalAirportCode},{DepartureTime}to{ArrivalTime}'AccessibilityLabel_ffffef05">search</a>
407
+ </p>
408
+ </td>
409
+ </tr>
410
+ <tr>
411
+ <td align="right" width="10px" valign="top"><nobr><input value="290737" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
412
+ <div id="smalltxt">290737</div>
413
+ </td><td align="center" width="30px" valign="top" bgcolor="orange"><a href="/TranslationTool?action=ShowAllTranslations&id=290737&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
414
+ <div id="numtxt">27 of 34</div>
415
+ </a></td><td valign="top">TAFlights_{OperatingAirlineName}operatesflight#{FlightNumber}_ffffef05</td><td valign="top">
416
+ <p>%1$@ operates flight #%2$@</p>
417
+ </td><td style="mid-width: 200px" valign="top">
418
+ <p>{Operating Airline Name} operates flight #{Flight Number}</p>
419
+ </td><td valign="top">
420
+ <p>
421
+ <a href="/TranslationToolSearch?action=search&q=TAFlights_{OperatingAirlineName}operatesflight#{FlightNumber}_ffffef05">search</a>
422
+ </p>
423
+ </td>
424
+ </tr>
425
+ <tr>
426
+ <td align="right" width="10px" valign="top"><nobr><input value="43756" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
427
+ <div id="smalltxt">43756</div>
428
+ </td><td align="center" width="30px" valign="top" bgcolor="orange"><a href="/TranslationTool?action=ShowAllTranslations&id=43756&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
429
+ <div id="numtxt">29 of 34</div>
430
+ </a></td><td valign="top">airm_taFlightSearch</td><td valign="top">
431
+ <p>TripAdvisor Flight Search</p>
432
+ </td><td style="mid-width: 200px" valign="top">
433
+ <p>page title</p>
434
+ </td><td valign="top">
435
+ <p>
436
+ <a href="/TranslationToolSearch?action=search&q=airm_taFlightSearch">search</a>
437
+ </p>
438
+ </td>
439
+ </tr>
440
+ <tr>
441
+ <td align="right" width="10px" valign="top"><nobr><input value="159620" name="id" type="checkbox"></nobr></td><td align="right" width="30px" valign="top">
442
+ <div id="smalltxt">159620</div>
443
+ </td><td align="center" width="30px" valign="top" bgcolor="orange"><a href="/TranslationTool?action=ShowAllTranslations&id=159620&locale=en&q=TAFlights&sort=1&from=__2F__TranslationTool__3F__q%3DTAFlights__26__locale%3Den__26__action%3DView__26__offset%3D100">
444
+ <div id="numtxt">29 of 34</div>
445
+ </a></td><td valign="top">flights_aboutTAFlights_ffffe1e5</td><td valign="top">
446
+ <p>About TripAdvisor Flights</p>
447
+ </td><td style="mid-width: 200px" valign="top">
448
+ <p>new</p>
449
+ </td><td valign="top">
450
+ <p>
451
+ <a href="/TranslationToolSearch?action=search&q=flights_aboutTAFlights_ffffe1e5">search</a>
452
+ </p>
453
+ </td>
454
+ </tr>
455
+ </table>
456
+ <div id="toolbar">
457
+ <input name="q" type="hidden" value="TAFlights"><img height="24" border="0" align="right" src="/img/flags/us.gif"><b>Actions: </b><img height="" width="" src="/img/s.gif"><input value="New" name="action" type="submit"><img height="" width="" src="/img/s.gif"><input value="Copy" name="action" type="submit"><img height="" width="" src="/img/s.gif"><input value="Edit" name="action" type="submit"><img height="" width="" src="/img/s.gif"><input value="History" name="action" type="submit"><img height="" width="" src="/img/s.gif">
458
+ Tag: <input onClick="this.value=''" value="(tag name)" size="10" name="tagName" type="text"> <input value="Mark" disabled name="action" type="submit"><img height="" width="" src="/img/s.gif"><a href="javascript:selectall(true);">select all</a>
459
+ </div>
460
+ </form>
461
+ <div style="background-color: #ffffcc;" id="toolbar">
462
+ <b>View: </b><img height="" width="" src="/img/s.gif"><form action="/TranslationTool" method="GET">
463
+ <input name="locale" type="hidden" value="en"><input name="q" type="hidden" value="TAFlights"><input name="offset" type="hidden" value="50"><input value="View" name="action" type="hidden"><input value="Previous" type="submit">
464
+ </form>
465
+ <img height="" width="" src="/img/s.gif"><form action="/TranslationTool" method="GET">
466
+ <input name="locale" type="hidden" value="en"><input name="q" type="hidden" value="TAFlights"><input name="offset" type="hidden" value=""><input value="View" name="action" type="hidden"><input value="Next" type="submit" disabled>
467
+ </form>
468
+ </div>
469
+ <br>
470
+ <br>
471
+ <br>
472
+ <a href="/TranslationTool">Translation home page</a>
473
+ <br>
474
+ <a href="/TranslationTool?action=ShowUsers">View current users</a>
475
+ </body>
476
+ </html>