[Feature / Discussion]: Cat mode for other languages/writing systems #9746

Open
opened 2 months ago by naskya · 13 comments

日本語訳がコメントにあります。(Japanese version is available in the comment section.)

What feature would you like implemented?

At the moment, the cat mode just replaces (na, NA, Na, nA, , ) with (nya, NYA, Nya, nYA, にゃ, ニャ) (edit: it also handles Hangul!), so speakers of languages that don't use these characters won't experience the essence of this feature. But I believe the similar conversion could be applied to other languages using phonograms.

Why should we add this feature?

As a native Japanese speaker (and a person cat who loves cute stuff), the cat mode is really impressive. Indeed, it's one of the biggest reasons I use *key software as my main social platform (this may sound silly, but not a joke!). It's sad that there are so many people who can't use this feature because of the language barrier.

Perhaps different languages have different degrees of suitability for the cat mode (I'm sure the Japanese language is very suitable for this). So I'd like to hear opinions from native speakers of various languages and extend the cat mode to other suitable languages.

The implementation should be straightforward since we just need to add patterns to replace, but we need some research.

This may raise objections from those who currently use the cat mode as just a feature to add cat ears to their avatar, but that shouldn't be a problem if non-nyaify cat mode (planned in CALCKEY.md) is also implemented.

Version

13.2.0-beta2

Instance

No response

What browser are you using?

Firefox

Relevant log output

No response

Contribution Guidelines

  • I agree to follow this project's Contribution Guidelines
日本語訳がコメントにあります。(Japanese version is available in the comment section.) ### What feature would you like implemented? At the moment, the cat mode just replaces (`na`, `NA`, `Na`, `nA`, `な`, `ナ`) with (`nya`, `NYA`, `Nya`, `nYA`, `にゃ`, `ニャ`) (edit: it also handles [Hangul](https://en.wikipedia.org/wiki/Hangul)!), so speakers of languages that don't use these characters won't experience ***the essence*** of this feature. But I believe the similar conversion could be applied to other languages using [phonograms](https://en.wikipedia.org/wiki/Phonogram_(linguistics)). ### Why should we add this feature? As a native Japanese speaker (and a ~~person~~ cat who loves cute stuff), the cat mode is really impressive. Indeed, it's one of the biggest reasons I use \*key software as my main social platform (this may sound silly, but not a joke!). It's sad that there are so many people who can't use this feature because of the language barrier. Perhaps different languages have different degrees of *suitability* for the cat mode (I'm sure the Japanese language is very *suitable* for this). So I'd like to hear opinions from native speakers of various languages and extend the cat mode to other *suitable* languages. The implementation should be straightforward since we just need to add patterns to replace, but we need some research. This may raise objections from those who currently use the cat mode as just a feature to add cat ears to their avatar, but that shouldn't be a problem if non-nyaify cat mode (planned in [CALCKEY.md](https://codeberg.org/calckey/calckey/src/branch/main/CALCKEY.md#planned)) is also implemented. ### Version 13.2.0-beta2 ### Instance _No response_ ### What browser are you using? Firefox ### Relevant log output _No response_ ### Contribution Guidelines - [x] I agree to follow this project's Contribution Guidelines
Poster

Japanese version (because I want to hear opinions from Japanese speakers as well):

猫モードの他の言語・文字体系への拡張

何を実装してほしいの?

現状では、猫モードは (na, NA, Na, nA, , ) を (nya, NYA, Nya, nYA, にゃ, ニャ) に置換する(あとアイコンに猫耳をつける)機能しかありません。そのため、これらの文字を使わない言語の話者は猫モードの真髄を体感できていません。しかし、表音文字を使う言語であれば同様の変換が可能なのではないかと思います。

なぜその機能を追加する必要があるの?

日本語の母語話者(かつ、可愛いものを愛する人間猫)として、猫モードはとっても良いものだと感じます。実は、これは私が 〜key のソフトウェアを主なソーシャルプラットフォームとして使う最も大きな理由の一つです(これはバカバカしく聞こえるかもしれませんが、冗談ではありません)。言語の壁のせいでこの機能が使えていない人がたくさんいることは悲しいです。

猫モードの機能がどれくらい適するかは言語によって違いそうです(日本語はとても適した言語です)。ですから、様々な言語の母語話者に意見を訊いて、適している言語にこの機能を追加したいと思います。

実装は置換するパターンを追加するだけなので単純なはずです。しかし、調査が必要です。

この変更は現在猫モードをただ猫耳をつけるために使用している(外国語話者の)人たちから反対されるかもしれませんが、CALCKEY.md で予定中と書かれている「にゃん化しない猫モード」も実装されれば問題にはならないでしょう。

Japanese version (because I want to hear opinions from Japanese speakers as well): ## 猫モードの他の言語・文字体系への拡張 ### 何を実装してほしいの? 現状では、猫モードは (`na`, `NA`, `Na`, `nA`, `な`, `ナ`) を (`nya`, `NYA`, `Nya`, `nYA`, `にゃ`, `ニャ`) に置換する(あとアイコンに猫耳をつける)機能しかありません。そのため、これらの文字を使わない言語の話者は猫モードの***真髄***を体感できていません。しかし、[表音文字](https://ja.wikipedia.org/wiki/%E8%A1%A8%E9%9F%B3%E6%96%87%E5%AD%97)を使う言語であれば同様の変換が可能なのではないかと思います。 ### なぜその機能を追加する必要があるの? 日本語の母語話者(かつ、可愛いものを愛する~~人間~~猫)として、猫モードはとっても良いものだと感じます。実は、これは私が 〜key のソフトウェアを主なソーシャルプラットフォームとして使う最も大きな理由の一つです(これはバカバカしく聞こえるかもしれませんが、冗談ではありません)。言語の壁のせいでこの機能が使えていない人がたくさんいることは悲しいです。 猫モードの機能がどれくらい*適する*かは言語によって違いそうです(日本語はとても*適した*言語です)。ですから、様々な言語の母語話者に意見を訊いて、*適している*言語にこの機能を追加したいと思います。 実装は置換するパターンを追加するだけなので単純なはずです。しかし、調査が必要です。 この変更は現在猫モードをただ猫耳をつけるために使用している(外国語話者の)人たちから反対されるかもしれませんが、[CALCKEY.md](https://codeberg.org/calckey/calckey/src/branch/main/CALCKEY.md#planned) で予定中と書かれている「にゃん化しない猫モード」も実装されれば問題にはならないでしょう。
panos added the
Feature
label 2 months ago
panos commented 2 months ago
Owner

As a greek speaker, I can confirm we could use something like that! Would be fun trying to figure out what the best replacement in greek would be, probably να -> νια.
Idk if it would be possible to somehow have this as part of the translations on weblate, where you could set the source syllabe and the resulting syllabe.

As a greek speaker, I can confirm we could use something like that! Would be fun trying to figure out what the best replacement in greek would be, probably να -> νια. Idk if it would be possible to somehow have this as part of the translations on weblate, where you could set the source syllabe and the resulting syllabe.
panos added the
💬Discussion
label 2 months ago
Poster

have this as part of the translations on weblate

This may be technically possible by adding items for that, like

nyaizeFrom: "na,NA,Na,nA"
nyaizeTo: "nya,NYA,Nya,nYA"

or

nyaizeFrom01: "na"
nyaizeTo01: "nya"
nyaizeFrom02: "NA"
nyaizeTo02: "NYA"
nyaizeFrom03: "Na"
nyaizeTo03: "Nya"
nyaizeFrom04: "nA"
nyaizeTo04: "nYA"

or whatever and processing these strings. But I think it's messy as these items are used differently than the others.

This "extended nyaize" isn't a localization process (but rather "globalization"?). We need to convert posts in various languages at the same time (regardless of language settings), which is different from processes such as "changing labels according to language settings". So I think attempting to do this within the current Weblate framework inevitably introduces strange/dirty codes.

I also don't know how best to implement this, but I would rather hardcode the patterns. (but yeah, you'll have to create a pull request to update the patterns)

> have this as part of the translations on weblate This may be technically possible by adding items for that, like ``` nyaizeFrom: "na,NA,Na,nA" nyaizeTo: "nya,NYA,Nya,nYA" ``` or ``` nyaizeFrom01: "na" nyaizeTo01: "nya" nyaizeFrom02: "NA" nyaizeTo02: "NYA" nyaizeFrom03: "Na" nyaizeTo03: "Nya" nyaizeFrom04: "nA" nyaizeTo04: "nYA" ``` or whatever and processing these strings. But I think it's messy as these items are used differently than the others. This "extended nyaize" isn't a localization process (but rather "globalization"?). We need to convert posts in various languages at the same time (regardless of language settings), which is different from processes such as "changing labels according to language settings". So I think attempting to do this within the current Weblate framework inevitably introduces strange/dirty codes. I also don't know how best to implement this, but I would rather hardcode the patterns. (but yeah, you'll have to create a pull request to update the patterns)
Poster

I'm embarrassed that I didn't check it carefully before opening this issue, but I just noticed this feature was also available in Korean!! Nice.

I'm embarrassed that I didn't check it carefully before opening this issue, but I just noticed [this feature was also available in Korean](https://codeberg.org/calckey/calckey/src/commit/aff90b3ef225e5d4453469b36b7bf3a8565c7a68/packages/client/src/scripts/nyaize.ts#L12-L19)!! Nice.
Collaborator

i know, off topic but I wouldnt 100% move cat mode to frontend, because of this, to have ppl on other instances experience it too, as its, like already stated, rlly part of someones personality... As a german autistic cat myself, I rlly am for this globalisation. We also, to my info, still plan on adding more modes to this, like Rat mode, maybe dog mode, etc, according to a vote @thatonecalculator once made. This could be done in the same process, of updating the mode in general :)

how about mouse mode 😉🐱

i know, off topic but I wouldnt 100% move cat mode to frontend, because of this, to have ppl on other instances experience it too, as its, like already stated, rlly part of someones personality... As a german autistic cat myself, I rlly am for this globalisation. We also, to my info, still plan on adding more modes to this, like Rat mode, maybe dog mode, etc, according to a vote @thatonecalculator once made. This could be done in the same process, of updating the mode in general :) how about mouse mode 😉🐱
Poster

I think I'm getting good reactions from Asian folks 🥰

I'm also curious whether I can adapt this feature to Chinese, which uses ideograms. I will research this personally, but please let me know if you have any ideas. (I, a Chinese learner, have no idea. But native speakers may come up with an elegant solution.)

I think I'm getting good reactions from Asian folks 🥰 ![](https://cdn.discordapp.com/attachments/823878222897741868/1088163460732440586/2023-03-23_031233.png) I'm also curious whether I can adapt this feature to Chinese, which uses [ideograms](https://en.wikipedia.org/wiki/Ideogram). I will research this personally, but please let me know if you have any ideas. (I, a Chinese learner, have no idea. But native speakers may come up with an elegant solution.)
Poster

Some writing systems are used in many languages (e.g., the Latin alphabet is used in many European languages). Is it okay to just match-and-replace the text? Isn't that harmful to other languages?
Intuitively, this is not a significant problem since the sound that a particular phonogram represents does not vary much among languages. However, if this is a problem, we should combine this with per-post language selector (#9692). (Or we can use the language setting in the profile as a substitute until #9692 is implemented)

Some writing systems are used in many languages (e.g., the Latin alphabet is used in many European languages). Is it okay to just match-and-replace the text? Isn't that harmful to other languages? Intuitively, this is not a significant problem since the sound that a particular phonogram represents does not vary much among languages. However, if this is a problem, we should combine this with per-post language selector (#9692). (Or we can use the language setting in the profile as a substitute until #9692 is implemented)
Collaborator

@naskya

Some writing systems are used in many languages (e.g., the Latin alphabet is used in many European languages). Is it okay to just match-and-replace the text? Isn't that harmful to other languages?
Intuitively, this is not a significant problem since the sound that a particular phonogram represents does not vary much among languages. However, if this is a problem, we should combine this with per-post language selector (#9692). (Or we can use the language setting in the profile as a substitute until #9692 is implemented)

Its fine as long as its not replacing, but inserting a specific letter, its used as a joke all over the latin alphabet like this

@naskya >Some writing systems are used in many languages (e.g., the Latin alphabet is used in many European languages). Is it okay to just match-and-replace the text? Isn't that harmful to other languages? >Intuitively, this is not a significant problem since the sound that a particular phonogram represents does not vary much among languages. However, if this is a problem, we should combine this with per-post language selector (#9692). (Or we can use the language setting in the profile as a substitute until #9692 is implemented) Its fine as long as its not replacing, but inserting a specific letter, its used as a joke all over the latin alphabet like this
Poster

So I'd like to hear opinions from native speakers of various languages

I think I can talk to such people on online forums like Reddit. However, I'd love to hear opinions from Calckey users (and maybe Misskey users), if possible. So I have to find out if I can do that (I have no connection with such communities).

> So I'd like to hear opinions from native speakers of various languages I think I can talk to such people on online forums like [Reddit](https://www.reddit.com/). However, I'd love to hear opinions from Calckey users (and maybe Misskey users), if possible. So I have to find out if I can do that (I have no connection with such communities).
Poster

Although I disagree with using the current translation process (i.e., add items to locales/*.yml) to do this, I feel it's best to ask the volunteers who translate for us on Weblate. I wonder if there's a feature that would allow us to ask the volunteers about their opinion.

Although I disagree with using the current translation process (i.e., add items to `locales/*.yml`) to do this, I feel it's best to ask the volunteers who translate for us on Weblate. I wonder if there's a feature that would allow us to ask the volunteers about their opinion.
Collaborator

@naskya

Some writing systems are used in many languages (e.g., the Latin alphabet is used in many European languages). Is it okay to just match-and-replace the text? Isn't that harmful to other languages?
Intuitively, this is not a significant problem since the sound that a particular phonogram represents does not vary much among languages. However, if this is a problem, we should combine this with per-post language selector (#9692). (Or we can use the language setting in the profile as a substitute until #9692 is implemented)

Its fine as long as its not replacing, but inserting a specific letter, its used as a joke all over the latin alphabet like this

As far as I know, the way to do this in cyrillic would be to change На to Ня which involves replacing rather than just adding a grapheme.

> @naskya > > >Some writing systems are used in many languages (e.g., the Latin alphabet is used in many European languages). Is it okay to just match-and-replace the text? Isn't that harmful to other languages? > >Intuitively, this is not a significant problem since the sound that a particular phonogram represents does not vary much among languages. However, if this is a problem, we should combine this with per-post language selector (#9692). (Or we can use the language setting in the profile as a substitute until #9692 is implemented) > > Its fine as long as its not replacing, but inserting a specific letter, its used as a joke all over the latin alphabet like this As far as I know, the way to do this in cyrillic would be to change На to Ня which involves replacing rather than just adding a grapheme.
Poster

As far as I know, the way to do this in cyrillic would be to change На to Ня which involves replacing rather than just adding a grapheme.

I am very curious if this causes any problems.

However, on second thought, using the per-post language setting may encourage the use of "(temporarily) disable nyaizing by not setting the language". This would reduce accessibility and should be avoided. Replacing all languages first and listening to the feedback would be a good idea.

> As far as I know, the way to do this in cyrillic would be to change На to Ня which involves replacing rather than just adding a grapheme. I am very curious if this causes any problems. However, on second thought, using the per-post language setting may encourage the use of "(temporarily) disable nyaizing by not setting the language". This would reduce accessibility and should be avoided. Replacing all languages first and listening to the feedback would be a good idea.
Poster

info: non-nyaify cat mode is implemented in #9798

info: non-nyaify cat mode is implemented in #9798
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: calckey/calckey#9746
Loading…
There is no content yet.