{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":434122319,"defaultBranch":"main","name":"rust-i18n","ownerLogin":"longbridgeapp","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-12-02T07:26:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/68419756?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1705974205.0","currentOid":""},"activityList":{"items":[{"before":"da465db7894055489bac9f07fd5c3956e24fe1d7","after":"33f5fca09050b23da1d3f9d959e05991eb691544","ref":"refs/heads/main","pushedAt":"2024-01-31T05:36:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Update README","shortMessageHtmlLink":"Update README"}},{"before":"dbc68b9d97c97847ce2518285d7920d98a5b6bb2","after":"da465db7894055489bac9f07fd5c3956e24fe1d7","ref":"refs/heads/main","pushedAt":"2024-01-31T05:34:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Update README","shortMessageHtmlLink":"Update README"}},{"before":"37bb5def372c2f5b0f08d7a986ee383f9fcba6d7","after":"dbc68b9d97c97847ce2518285d7920d98a5b6bb2","ref":"refs/heads/main","pushedAt":"2024-01-31T03:47:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Refactor code for #73, private some method.\n\n- Renamed `mikey` to `minify_key`.\n- Removed unused `vakey`.\n- Removed `t!((key, msg))` support, this need to think about it.\n- Hidden (mark `#[doc(hidden)]) some private method, even it pub, it only provided for rust_i18n itself.","shortMessageHtmlLink":"Refactor code for #73, private some method."}},{"before":"1246b9e2eeb32394fafbcfa3dffcca822d6359d1","after":"37bb5def372c2f5b0f08d7a986ee383f9fcba6d7","ref":"refs/heads/main","pushedAt":"2024-01-31T01:31:42.000Z","pushType":"pr_merge","commitsCount":40,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Merge pull request #73 from varphone/develop\n\nIntroduced the `minify_key` feature for `i18n!` and added support for format specifiers in `t!`","shortMessageHtmlLink":"Merge pull request #73 from varphone/develop"}},{"before":"22e0609591a2c08930f52a0e6bc860f02a0e88c0","after":"1246b9e2eeb32394fafbcfa3dffcca822d6359d1","ref":"refs/heads/main","pushedAt":"2024-01-23T01:43:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"(cargo-release) start next development iteration 3.0.2-alpha.0","shortMessageHtmlLink":"(cargo-release) start next development iteration 3.0.2-alpha.0"}},{"before":"37aa93a07c0da2ce8286e337fd137874bdec2e29","after":"22e0609591a2c08930f52a0e6bc860f02a0e88c0","ref":"refs/heads/main","pushedAt":"2024-01-22T11:09:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Use `arc_swap` to implement `AtomicStr` (#72)\n\n* Use `arc_swap` to implement `AtomicStr`\r\n\r\nThe previous implementation allowed use-after-free in a multi-threaded\r\ncontext. This PR fixes the problem by using `ArcSwap`, which is\r\nimplements thread-safe swapping of `Arc`s, and is widely used.\r\n\r\n* Use `triomphe::Arc` to mitigate performance losses\r\n\r\nThis change replaces `std::sync::Arc` with `triomphe::Arc`. The latter\r\nhas no weak references, and is a lot faster because of that.\r\n\r\n* Update atomic_str.rs\r\n\r\n* Update lib.rs\r\n\r\n* Update lib.rs\r\n\r\n---------\r\n\r\nCo-authored-by: Jason Lee ","shortMessageHtmlLink":"Use arc_swap to implement AtomicStr (#72)"}},{"before":"fe721998608663e9e293e282d5d823d86a788ec8","after":"37aa93a07c0da2ce8286e337fd137874bdec2e29","ref":"refs/heads/main","pushedAt":"2024-01-22T10:49:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add test to `rust_i18n::locale`.","shortMessageHtmlLink":"Add test to rust_i18n::locale."}},{"before":"b94b9fda470503b8e9559a1900b70bb4c4f23dd3","after":"fe721998608663e9e293e282d5d823d86a788ec8","ref":"refs/heads/main","pushedAt":"2024-01-19T10:26:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"(cargo-release) start next development iteration 3.0.1-alpha.0","shortMessageHtmlLink":"(cargo-release) start next development iteration 3.0.1-alpha.0"}},{"before":"abcca75ea4d5cc2b2a2d4ad0f7c75c15dded3f39","after":"b94b9fda470503b8e9559a1900b70bb4c4f23dd3","ref":"refs/heads/main","pushedAt":"2024-01-19T08:28:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Release version 2.4.0","shortMessageHtmlLink":"Release version 2.4.0"}},{"before":"aa3d0c16056474f60198e3dc575ab26172593ae2","after":"abcca75ea4d5cc2b2a2d4ad0f7c75c15dded3f39","ref":"refs/heads/main","pushedAt":"2024-01-19T08:25:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Fix README","shortMessageHtmlLink":"Fix README"}},{"before":"91abcd64f5819c146216f102bd26cb1b63e1fe07","after":"aa3d0c16056474f60198e3dc575ab26172593ae2","ref":"refs/heads/main","pushedAt":"2024-01-19T07:41:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"(cargo-release) start next development iteration 2.4.1-alpha.0","shortMessageHtmlLink":"(cargo-release) start next development iteration 2.4.1-alpha.0"}},{"before":"62b6e1dc7e3ea3332e96cb9bccaee4ae31bcc0df","after":"91abcd64f5819c146216f102bd26cb1b63e1fe07","ref":"refs/heads/main","pushedAt":"2024-01-19T07:34:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add chained fallback support and performance improved (#69)\n\n* Add more than one fallback with priority support\r\n\r\nExample: i18n!(\"locales\", fallback = [\"en\", \"es]);\r\n\r\n* Add more than on fallback testing\r\n\r\n* Add new proc_macro key! support\r\n\r\n* Add new lock-free AtomicStr\r\n\r\n* Remove RwLock from locale() and set_locale()\r\n\r\n* Use AtomicStr instead of RwLock\r\n* Change locale() return type to Arc\r\n\r\n* tests/locales/en.yml: Add lorem ipsum long text item\r\n\r\n* bench: Add t_with_threads and t_lorem_ipsum\r\n\r\n* bench: Add t_with_args (many)\r\n\r\n* Add new function `replace_patterns()` to speed up string replacement\r\n\r\n* Use `replace_patterns()` in t! to speed up string replacement\r\n\r\n* Change _rust_i18n_translate() return type to Cow to reduce string copy\r\n\r\n* Fix some testing compile errors\r\n\r\n* Change `t!()` with patterns return type to Cow::Owned(String)\r\n\r\n* Fix examples compile error\r\n\r\n* Early return in fallback parsing to avoid an 'else' clause\r\n\r\n* README.md: Update benchmark results","shortMessageHtmlLink":"Add chained fallback support and performance improved (#69)"}},{"before":"cb9354513d7f05dcaf1acb1ebca33843dcfdc47d","after":"62b6e1dc7e3ea3332e96cb9bccaee4ae31bcc0df","ref":"refs/heads/main","pushedAt":"2024-01-15T07:32:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Release v2.3.1","shortMessageHtmlLink":"Release v2.3.1"}},{"before":"403e6f71d4aeeb88632481d16d8e2dc54de39c8b","after":"cb9354513d7f05dcaf1acb1ebca33843dcfdc47d","ref":"refs/heads/main","pushedAt":"2024-01-15T07:26:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add lookup fallback (RFC 4647) to t! (#68)\n\n* Add lookup fallback support to t!\r\n* README.md: Fix doctest compile error","shortMessageHtmlLink":"Add lookup fallback (RFC 4647) to t! (#68)"}},{"before":"21113261163eeb0b2a09562a601b72c0fb3eda77","after":"403e6f71d4aeeb88632481d16d8e2dc54de39c8b","ref":"refs/heads/main","pushedAt":"2023-11-14T03:03:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"470d99bc0b76a2089a09ae70f1cff47011d1516e","after":"21113261163eeb0b2a09562a601b72c0fb3eda77","ref":"refs/heads/main","pushedAt":"2023-11-14T02:58:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"version 2.3.0","shortMessageHtmlLink":"version 2.3.0"}},{"before":"c269c7c71b68647431f63b7fc588535167a2aabd","after":"470d99bc0b76a2089a09ae70f1cff47011d1516e","ref":"refs/heads/main","pushedAt":"2023-11-14T02:35:46.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Merge pull request #66 from urkle/feat-split-carg-i18n-to-separate-crate\n\nFeat split carg i18n to separate crate","shortMessageHtmlLink":"Merge pull request #66 from urkle/feat-split-carg-i18n-to-separate-crate"}},{"before":"ba2c7cb8e1083ccc12c8887623a43c25bf9ee4d6","after":"c269c7c71b68647431f63b7fc588535167a2aabd","ref":"refs/heads/main","pushedAt":"2023-10-16T02:50:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Fix #64 add `#[allow(missing_docs)]` for internal funciton.","shortMessageHtmlLink":"Fix #64 add #[allow(missing_docs)] for internal funciton."}},{"before":"737370d87ba8d91a4a11f3276b1d21a792e3e684","after":"ba2c7cb8e1083ccc12c8887623a43c25bf9ee4d6","ref":"refs/heads/main","pushedAt":"2023-09-04T11:27:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add examples for explain use Backend for share locales dict in entire workspace.","shortMessageHtmlLink":"Add examples for explain use Backend for share locales dict in entire…"}},{"before":"8ac1bc8b5e9d09a1c4e7963869a4c4f2a29e8d9f","after":"737370d87ba8d91a4a11f3276b1d21a792e3e684","ref":"refs/heads/main","pushedAt":"2023-09-04T10:52:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Fix typo","shortMessageHtmlLink":"Fix typo"}},{"before":"ddee44ac407195de1c89c862638c7b7e98fe7e27","after":"8ac1bc8b5e9d09a1c4e7963869a4c4f2a29e8d9f","ref":"refs/heads/main","pushedAt":"2023-08-28T08:24:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Fix rust-i18n-macro dependency #55","shortMessageHtmlLink":"Fix rust-i18n-macro dependency #55"}},{"before":"b9d7d7a6d7fd03483f52845489d17296488772db","after":"ddee44ac407195de1c89c862638c7b7e98fe7e27","ref":"refs/heads/main","pushedAt":"2023-08-28T07:06:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"(cargo-release) version 2.2.0","shortMessageHtmlLink":"(cargo-release) version 2.2.0"}},{"before":"f02ec1dced9ed75c4db25fadba77797df483fd7c","after":null,"ref":"refs/heads/feat/translations-format","pushedAt":"2023-08-28T06:51:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"}},{"before":"50f11073e988de09d8496c25ebb96ebfc3ede91b","after":"b9d7d7a6d7fd03483f52845489d17296488772db","ref":"refs/heads/main","pushedAt":"2023-08-28T06:51:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add to support translated text with multiple locales in one file. (#50)\n\n- Add to support translated text with multiple locales.\r\n- Add `_version` for locale file for special the file format.\r\n - `_version: 1` - Split each language into difference files (default).\r\n - `_version: 2` - All language in same file.\r\n- Update `cargo i18n` command for output `_version: 2` format.\r\n- Improve generator output to remove leading `---` in YAML file.","shortMessageHtmlLink":"Add to support translated text with multiple locales in one file. (#50)"}},{"before":"8837c7654ae70f3b01e07ee481a88b4e2699f5af","after":"f02ec1dced9ed75c4db25fadba77797df483fd7c","ref":"refs/heads/feat/translations-format","pushedAt":"2023-08-28T06:48:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Improve generator output remove leading `---` in YAML file.","shortMessageHtmlLink":"Improve generator output remove leading --- in YAML file."}},{"before":"6c6717ae1d1d79315550729032aa314cf7b70709","after":"8837c7654ae70f3b01e07ee481a88b4e2699f5af","ref":"refs/heads/feat/translations-format","pushedAt":"2023-08-28T05:31:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add `_version` for special the locale file format.","shortMessageHtmlLink":"Add _version for special the locale file format."}},{"before":"4fefa196090b54e6ba25f6593dd8f47056835102","after":"6c6717ae1d1d79315550729032aa314cf7b70709","ref":"refs/heads/feat/translations-format","pushedAt":"2023-08-28T05:31:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add `_version` for special the locale file format.","shortMessageHtmlLink":"Add _version for special the locale file format."}},{"before":"7ffa16e6ee05d0ec9efa8c5fa44fb6211f3c1cb0","after":"4fefa196090b54e6ba25f6593dd8f47056835102","ref":"refs/heads/feat/translations-format","pushedAt":"2023-08-28T05:30:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add `_version` for special the locale file format.","shortMessageHtmlLink":"Add _version for special the locale file format."}},{"before":"cc1f3fc516f7cbbddf9f05569404c16a41edfc1c","after":"7ffa16e6ee05d0ec9efa8c5fa44fb6211f3c1cb0","ref":"refs/heads/feat/translations-format","pushedAt":"2023-08-28T03:59:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add `_version` for special the locale file format.","shortMessageHtmlLink":"Add _version for special the locale file format."}},{"before":"a005dd76b1a598763d2f5594bcddf094c4dd6b9b","after":"cc1f3fc516f7cbbddf9f05569404c16a41edfc1c","ref":"refs/heads/feat/translations-format","pushedAt":"2023-08-28T03:58:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"huacnlee","name":"Jason Lee","path":"/huacnlee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5518?s=80&v=4"},"commit":{"message":"Add `_version` for special the locale file format.","shortMessageHtmlLink":"Add _version for special the locale file format."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD7a0Z7AA","startCursor":null,"endCursor":null}},"title":"Activity · longbridgeapp/rust-i18n"}