{"id":176,"date":"2009-06-02T07:20:41","date_gmt":"2009-06-02T14:20:41","guid":{"rendered":"http:\/\/blog.mozilla.org\/axel\/?p=176"},"modified":"2009-06-02T07:20:41","modified_gmt":"2009-06-02T14:20:41","slug":"searching-l10n","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/axel\/2009\/06\/02\/searching-l10n\/","title":{"rendered":"Searching l10n"},"content":{"rendered":"<p>I&#8217;m contemplating adding search in l10n to the dashboard, and I figured I&#8217;d put my thoughts out for lazyweb super-review.<\/p>\n<p>Things we might want to search for:<\/p>\n<ul>\n<li>Localized strings\n<ul>\n<li>in a particular locale<\/li>\n<li>in all locales<\/li>\n<li>going into a particular app<\/li>\n<\/ul>\n<\/li>\n<li>entity names\n<ul>\n<li>in all of the above<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>As with the rest of the dashboard, I&#8217;d favour a pythonic solution. I&#8217;ve run across <a href=\"http:\/\/whoosh.ca\/\">Whoosh<\/a>, which seems to offer me what I&#8217;d need. In particular I can mark up searches in just keys or just values of our localized strings with the Schemas it offers.<\/p>\n<p>All sounds pretty neat and contained, I&#8217;m just wondering if there&#8217;s something cool and shiny elsewhere that I&#8217;m missing, or if someone came back with &#8220;ugh, sucks&#8221; from trying Whoosh.<\/p>\n<p>Ad-hoc design for the curious:<\/p>\n<p>For each changeset, we&#8217;d parse the old and the new version of the file, getting a list of keys and values, and I&#8217;d create two searchable TEXT entries for all changed keys, and added entries. We&#8217;d tag that &#8220;document&#8221; with path, locale, apps, revision, branch. That way, you could search even for strings that aren&#8217;t currently in the tip, and get a versioned link to where it showed up first, and last, possibly. Given that we have a lot of data and history, I wouldn&#8217;t be surprised if that corpus would get large pretty quickly. I&#8217;d expect to not only index l10n but en-US, too. Thoughts?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m contemplating adding search in l10n to the dashboard, and I figured I&#8217;d put my thoughts out for lazyweb super-review. Things we might want to search for: Localized strings in a particular locale in all locales going into a particular app entity names in all of the above As with the rest of the dashboard, [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[604,23779,23778],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts\/176"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/comments?post=176"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts\/176\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/media?parent=176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/categories?post=176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/tags?post=176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}