{"id":20454918,"url":"https://github.com/robb-j/labrador","last_synced_at":"2026-04-08T23:33:37.883Z","repository":{"id":88550455,"uuid":"408136472","full_name":"robb-j/labrador","owner":"robb-j","description":"🦮 A tool for translating YAML files","archived":false,"fork":false,"pushed_at":"2022-08-28T15:22:04.000Z","size":702,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-15T23:25:14.255Z","etag":null,"topics":["alpine","commitlint","husky","i18n","lint-staged","prettier","standard-version","typescript","vite","yaml"],"latest_commit_sha":null,"homepage":"https://labrador.r0b.io/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robb-j.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-19T13:36:04.000Z","updated_at":"2023-03-05T08:37:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"819f6b2f-961b-4cff-9f6e-c1868155a612","html_url":"https://github.com/robb-j/labrador","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robb-j%2Flabrador","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robb-j%2Flabrador/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robb-j%2Flabrador/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robb-j%2Flabrador/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robb-j","download_url":"https://codeload.github.com/robb-j/labrador/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242005820,"owners_count":20056434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpine","commitlint","husky","i18n","lint-staged","prettier","standard-version","typescript","vite","yaml"],"created_at":"2024-11-15T11:17:22.826Z","updated_at":"2025-12-04T01:05:15.723Z","avatar_url":"https://github.com/robb-j.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Labrador\n\nThis is a prototype tool for editing YAML i18n strings.\n\nYou have 2 files.\nThe reference file is the version of the file you want to be translated\nand the target file is the translation you want to produce.\nYou load both of these files into the tool and it generates an interface for you to do the translation.\n\nPress save at any time to download a modified version of the target file with any changes made to it.\nSend that file back to whoever asked you to translate it.\n\nCurrent translations and changes are stored in `localStorage`\nso it will persist between reloads.\n\n## Background\n\nI made this repo to play around with [alpine.js](https://alpinejs.dev/),\n[css variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties)\nand [vite](https://vitejs.dev/).\n\n## Screenshots\n\n![Setup Interface](./screenshots/setup.png)\n\n![Editor Interface](./screenshots/editor.png)\n\n## Development\n\n### Setup\n\nCheck out the repo and `npm install` to get the latest dependencies.\nRun `npm run prepare` to setup the [husky](https://typicode.github.io/husky/) integration.\n\n### Development\n\n```sh\n# Run the development server with hot-reloading\nnpm run dev\n\n# Run the build\nnpm run build\n```\n\n### Formatting\n\nCode is automatically formatted using [prettier](https://prettier.io),\nthis runs automatically when comitting code.\nCommit's will fail if invalid code is staged.\nYou can manually format code with `npm run format` if you want.\n\n### Commits\n\nCommit messages must follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/),\nthis is linted using [husky](https://typicode.github.io/husky/).\n\n### Releasing\n\nReleases are generated with [standard-version](https://github.com/conventional-changelog/standard-version).\nThis decides the next version and generates the [CHANGELOG.md](/CHANGELOG.md)\nbased on commit messages.\n\n```sh\nnpm run release\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobb-j%2Flabrador","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobb-j%2Flabrador","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobb-j%2Flabrador/lists"}